A named, possibly nested set of principals. Policies can be bound to groups so that permissions are granted to all members at once. Some group names are reserved, e.g. {org}/admins and {org}/members are created together with an organization.
An entire ODF deployment acting under a single identity. The node acts as a principal in system tasks and node-to-node communications and owns node-wide resources like the reserved {node}/admins group.
An account that owns resources on behalf of a group of users but cannot authenticate or act itself. Upon creation the node creates reserved groups {org}/admins, whose members have owner rights over all resources of the organization, and {org}/members.
A reusable grant of permissions. Policies with subject and object slots are templates instantiated via PolicyBinding, while policies without slots take effect on their own.
Policy expressed in the Cedar policy language. Policies that declare ?principal and ?resource slots are templates instantiated via PolicyBinding, otherwise they take effect on their own. Only supported by nodes that use Cedar.
Policy expressed in the Cedar policy language. Policies that declare ?principal and ?resource slots are templates instantiated via PolicyBinding, otherwise they take effect on their own. Only supported by nodes that use Cedar.
Policy expressed in the Cedar policy language. Policies that declare ?principal and ?resource slots are templates instantiated via PolicyBinding, otherwise they take effect on their own. Only supported by nodes that use Cedar.
Policy expressed in the Cedar policy language. Policies that declare ?principal and ?resource slots are templates instantiated via PolicyBinding, otherwise they take effect on their own. Only supported by nodes that use Cedar.
A non-human identity used by automation (scheduled flows, CI, installed applications). Service accounts are scoped under an owning account and can act as principals, but cannot own resources.
Reference to a party a grant is given to. Unlike a principal, a subject may stand for many principals at once. Short form is either a well-known subject name (e.g. Authenticated) or a resource reference with a type prefix, DID, or ID (e.g. Group:acme/engineering).
Container for key-value secrets. Every key must be a string. Values may be strings with raw unencrypted data or objects that signify the encoding.Map of string keys to arbitrary values.
Container for key-value variables. Every key must be a string. Values shoud reference fields in SecretSets and VariableSets.Map of string keys to arbitrary values.
Container for key-value variables. Every key must be a string. Values may be raw strings or objects that incorporate the encoding.Map of string keys to arbitrary values.
This schema aims to be a human-friendly variant of Arrow. Arrow currently specifies only the flatbuffer format which has many legacy to it and is not suited to be defined by humans, so we had to define our own schema format. While inspired by Arrow - this format makes a clear separation between logical data types and encoding (physical layout) of data in the chunks.
Defines a logical type of the field. Logical type determines the semantics and boudaries of a type and how it can be operated on, without a concern about encoding and physical layout of the data in chunks.
A fixed-point decimal number with a specified precision and scale.
Property
Type
Required
Format
Description
precision
integer
✔️
uint32
Total number of decimal digits that can be stored.
scale
integer
✔️
int32
Number of digits after the decimal point. In certain situations, scale could be negative number. For negative scale, it is the number of padding 0 to the right of the digits.
For example the number 12300 could be treated as a decimal has precision 3 and scale -2.
The unit of the timestamp value that determines its precision.
Default: Millisecond
timezone
string
The timezone is an optional string indicating the name of a timezone one of
* As used in the Olson timezone database (the “tz database” or “tzdata”), such as “America/New_York”. * An absolute timezone offset of the form “+XX:XX” or “-XX:XX”, such as “+07:30”.
Container for custom key-value extension attributes. Every key must be in the form of <domain>/<path> (e.g. kamu.dev/archetype) in order to fully disambiguate the value in the face of multiple extensions. Values may be any valid JSON including nested objects.Map of string keys to arbitrary values.
Describes checkpoint written during this transaction, if any. If an engine operation resulted in no updates to the checkpoint, but checkpoint is still relevant for subsequent runs - a hash of the previous checkpoint should be specified.
Last watermark of the output data stream, if any. Initial blocks may not have watermarks, but once watermark is set - all subsequent blocks should either carry the same watermark or specify a new (greater) one. Thus, watermarks are monotonically non-decreasing.
The state of the source the data was added from to allow fast resuming. If the state did not change but is still relevant for subsequent runs it should be carried, i.e. only the last state per source is considered when resuming.
An array of metadata events that will be used to populate the chain, e.g. to set info, licenses, and attachments. As the dataset evolves, it maintains a snapshot of the key events that describe the dataset in its latest state, excluding intermediate transitions (e.g. previous schema changes) and events related to ingestions and transformations.
An array of metadata events that will be used to populate the chain, e.g. to set info, licenses, and attachments. As the dataset evolves, it maintains a snapshot of the key events that describe the dataset in its latest state, excluding intermediate transitions (e.g. previous schema changes) and events related to ingestions and transformations.
Describes checkpoint written during this transaction, if any. If an engine operation resulted in no updates to the checkpoint, but checkpoint is still relevant for subsequent runs - a hash of the previous checkpoint should be specified.
Last watermark of the output data stream, if any. Initial blocks may not have watermarks, but once watermark is set - all subsequent blocks should either carry the same watermark or specify a new (greater) one. Thus, watermarks are monotonically non-decreasing.
Last block of the input dataset that was previously incorporated into the derivative transformation, if any. Must be equal to the last non-empty newBlockHash. Together with newBlockHash defines a half-open (prevBlockHash, newBlockHash] interval of blocks that will be considered in this transaction.
Hash of the last block that will be incorporated into the derivative transformation. When present, defines a half-open (prevBlockHash, newBlockHash] interval of blocks that will be considered in this transaction.
prevOffset
integer
uint64
Last data record offset in the input dataset that was previously incorporated into the derivative transformation, if any. Must be equal to the last non-empty newOffset. Together with newOffset defines a half-open (prevOffset, newOffset] interval of data records that will be considered in this transaction.
newOffset
integer
uint64
Offset of the last data record that will be incorporated into the derivative transformation, if any. When present, defines a half-open (prevOffset, newOffset] interval of data records that will be considered in this transaction.
Identifier of the engine used for this transformation.
version
string
Version of the engine to use.
query
string
SQL query the result of which will be used as an output. This is a convenience property meant only for defining queries by hand. When stored in the metadata this property will never be set and instead will be converted into a single-iter queries array.
Specifies multi-step SQL transformations. Each step acts as a shorthand for CREATE TEMPORARY VIEW <alias> AS (<query>). Last query in the array should have no alias and will be treated as an output.
A local or remote dataset reference. When block is accepted this MUST be in the form of a DatasetId to guarantee reproducibility, as aliases can change over time.
alias
string
An alias under which this input will be available in queries. Will be populated from datasetRef if not provided before resolving it to DatasetId.
Condition capturing what caused this FlowRun to be scheduled. Set by the controller at creation time; never written by users. In case of a retry, the causes of the original run are preserved.
Service account whose permissions the tasks of this run execute with. Must be an account of service account type. A run created by the flow controller copies it from the Flow.
Service account whose permissions the tasks of this run execute with. Must be an account of service account type. A run created by the flow controller copies it from the Flow.
Service account whose permissions the tasks of this flow execute with. Must be an account of service account type. Required for flows owned by an organization. When omitted, tasks execute with the permissions of the user account that owns the flow.
Service account whose permissions the tasks of this flow execute with. Must be an account of service account type. Required for flows owned by an organization. When omitted, tasks execute with the permissions of the user account that owns the flow.
Minimum interval between activations of the trigger. If the trigger fires again within the interval, the activation is postponed until the interval ends, batching multiple activations into one flow run.
cooldownMaxBatch
integer
uint64
If the trigger is activated this many times during the cooldown interval, it fires without waiting for the interval to end.
Minimum interval between activations of the trigger. If the trigger fires again within the interval, the activation is postponed until the interval ends, batching multiple activations into one flow run.
cooldownMaxBatch
integer
uint64
If the trigger is activated this many times during the cooldown interval, it fires without waiting for the interval to end.
cron
string
✔️
Cron5 expression defining the schedule e.g. @daily or */30 * * * *.
Minimum interval between activations of the trigger. If the trigger fires again within the interval, the activation is postponed until the interval ends, batching multiple activations into one flow run.
cooldownMaxBatch
integer
uint64
If the trigger is activated this many times during the cooldown interval, it fires without waiting for the interval to end.
Minimum interval between activations of the trigger. If the trigger fires again within the interval, the activation is postponed until the interval ends, batching multiple activations into one flow run.
cooldownMaxBatch
integer
uint64
If the trigger is activated this many times during the cooldown interval, it fires without waiting for the interval to end.
Triggers the flow when a source receives new data, with optional batching controls.
Property
Type
Required
Format
Description
enabled
boolean
Allows to pause an individual trigger.
Default: True
cooldown
string
duration
Minimum interval between activations of the trigger. If the trigger fires again within the interval, the activation is postponed until the interval ends, batching multiple activations into one flow run.
cooldownMaxBatch
integer
uint64
If the trigger is activated this many times during the cooldown interval, it fires without waiting for the interval to end.
Triggers the flow when inputs of a derivative dataset receive new data, with optional batching controls.
Property
Type
Required
Format
Description
enabled
boolean
Allows to pause an individual trigger.
Default: True
cooldown
string
duration
Minimum interval between activations of the trigger. If the trigger fires again within the interval, the activation is postponed until the interval ends, batching multiple activations into one flow run.
cooldownMaxBatch
integer
uint64
If the trigger is activated this many times during the cooldown interval, it fires without waiting for the interval to end.
Minimum interval between activations of the trigger. If the trigger fires again within the interval, the activation is postponed until the interval ends, batching multiple activations into one flow run.
cooldownMaxBatch
integer
uint64
If the trigger is activated this many times during the cooldown interval, it fires without waiting for the interval to end.
Minimum interval between activations of the trigger. If the trigger fires again within the interval, the activation is postponed until the interval ends, batching multiple activations into one flow run.
cooldownMaxBatch
integer
uint64
If the trigger is activated this many times during the cooldown interval, it fires without waiting for the interval to end.
cron
string
✔️
Cron5 expression defining the schedule e.g. @daily or */30 * * * *.
Minimum interval between activations of the trigger. If the trigger fires again within the interval, the activation is postponed until the interval ends, batching multiple activations into one flow run.
cooldownMaxBatch
integer
uint64
If the trigger is activated this many times during the cooldown interval, it fires without waiting for the interval to end.
Minimum interval between activations of the trigger. If the trigger fires again within the interval, the activation is postponed until the interval ends, batching multiple activations into one flow run.
cooldownMaxBatch
integer
uint64
If the trigger is activated this many times during the cooldown interval, it fires without waiting for the interval to end.
Triggers the flow when a source receives new data, with optional batching controls.
Property
Type
Required
Format
Description
enabled
boolean
Allows to pause an individual trigger.
Default: True
cooldown
string
duration
Minimum interval between activations of the trigger. If the trigger fires again within the interval, the activation is postponed until the interval ends, batching multiple activations into one flow run.
cooldownMaxBatch
integer
uint64
If the trigger is activated this many times during the cooldown interval, it fires without waiting for the interval to end.
Triggers the flow when inputs of a derivative dataset receive new data, with optional batching controls.
Property
Type
Required
Format
Description
enabled
boolean
Allows to pause an individual trigger.
Default: True
cooldown
string
duration
Minimum interval between activations of the trigger. If the trigger fires again within the interval, the activation is postponed until the interval ends, batching multiple activations into one flow run.
cooldownMaxBatch
integer
uint64
If the trigger is activated this many times during the cooldown interval, it fires without waiting for the interval to end.
Top-level container for canonical representation of a resource that specifies the type and version of the resource, carries identity, ownership, and status information.
Property
Type
Required
Format
Description
$schema
string
✔️
type-uri
Identifies the controlling entity, a bounded context that this resource belongs to, and the version. Url should follow the pattern {base-url}/{context}/{version}/{name} e.g. https://opendatafabric.org/schemas/datasets/v1/Dataset.
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. Unlike labels, annotations are not indexed and cannot be queried by.Map of string keys to arbitrary values.
Container of generic contditions that can be added by contollers to provide additional information about the state of a resource. Keys uniquely identify the condition and should be in the form of a schema URL describing this condition, e.g. https://opendatafabric.org/schemas/tasks/v1/TaskStatus.Map of string keys to arbitrary values.
Annotations is a key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. Unlike labels, annotations are not indexed and cannot be queried by.
References to resources that created this resource. Used for lineage tracking and cascading cleanup.
generation
integer
✔️
uint64
A sequential number that changes every time the resource header and spec are updated. Does not increment on status changes, thus signifying changes to the desired state. Populated by the system. Starts with 1.
statusGeneration
integer
✔️
uint64
A sequential number that changes every time the resource status is updated. Can be passed back as a precondition of a status update to make sure the status was not modified since it was read. Populated by the system. Starts with 1.
Annotations is a key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. Unlike labels, annotations are not indexed and cannot be queried by.
Top-level container for user-authored representation of a resource that specifies the type and version of the resource and its desired state.
Property
Type
Required
Format
Description
$schema
string
✔️
type-uri
Identifies the controlling entity, a bounded context that this resource belongs to, and the version. Url should follow the pattern {base-url}/{context}/{version}/{name} e.g. https://opendatafabric.org/schemas/datasets/v1/Dataset.
Specifies how input files should be ordered before ingestion. Order is important as every file will be processed individually and will advance the dataset’s watermark.
Connects to an EVM (Ethereum) node to stream transaction logs.
Property
Type
Required
Format
Description
chainId
integer
uint64
Identifier of the chain to scan logs from. This parameter may be used for RPC endpoint lookup as well as asserting that provided nodeUrl corresponds to the expected chain.
nodeUrl
string
uri
Url of the node.
filter
string
An SQL WHERE clause that can be used to pre-filter the logs before fetching them from the ETH node.
signature
string
Solidity log event signature to use for decoding. Using this field adds event to the output containing decoded log as JSON.
Changelog stream merge strategy.This is the native stream format for ODF that accurately describes the evolution of all event records including appends, retractions, and corrections as per RFC-015. No pre-processing except for format validation is done.
Property
Type
Required
Format
Description
primaryKey
array(string)
✔️
Names of the columns that uniquely identify the record throughout its lifetime
Ledger merge strategy.This strategy should be used for data sources containing ledgers of events. Currently this strategy will only perform deduplication of events using user-specified primary key columns. This means that the source data can contain partially overlapping set of records and only those records that were not previously seen will be appended.
Property
Type
Required
Format
Description
primaryKey
array(string)
✔️
Names of the columns that uniquely identify the record throughout its lifetime
Snapshot merge strategy.This strategy can be used for data state snapshots that are taken periodically and contain only the latest state of the observed entity or system. Over time such snapshots can have new rows added, and old rows either removed or modified.This strategy transforms snapshot data into an append-only event stream where data already added is immutable. It does so by performing Change Data Capture - essentially diffing the current state of data against the reconstructed previous state and recording differences as retractions or corrections. The Operation Type “op” column will contain:
append (+A) when a row appears for the first time
retraction (-R) when row disappears
correction (-C, +C) when row data has changed, with -C event carrying the old value of the row and +C carrying the new value.
To correctly associate rows between old and new snapshots this strategy relies on user-specified primary key columns.To identify whether a row has changed this strategy will compare all other columns one by one. If the data contains a column that is guaranteed to change whenever any of the data columns changes (for example a last modification timestamp, an incremental version, or a data hash), then it can be specified in compareColumns property to speed up the detection of modified rows.
Property
Type
Required
Format
Description
primaryKey
array(string)
✔️
Names of the columns that uniquely identify the record throughout its lifetime.
compareColumns
array(string)
Names of the columns to compared to determine if a row has changed between two snapshots.
Upsert stream merge strategy.This strategy should be used for data sources containing ledgers of insert-or-update and delete events. Unlike ChangelogStream the insert-or-update events only carry the new values, so this strategy will use primary key to re-classify the events into an append or a correction from/to pair, looking up the previous values.
Property
Type
Required
Format
Description
primaryKey
array(string)
✔️
Names of the columns that uniquely identify the record throughout its lifetime
Reader for GeoJSON files. It expects one FeatureCollection object in the root and will create a record per each Feature inside it extracting the properties into individual columns and leaving the feature geometry in its own column.
Reader for Newline-delimited GeoJSON files. It is similar to GeoJson format but instead of FeatureCollection object in the root it expects every individual feature object to appear on its own line.
Reader for JSON files that contain an array of objects within them.
Property
Type
Required
Format
Description
subPath
string
Path in the form of a.b.c to a sub-element of the root JSON object that is an array or objects. If not specified it is assumed that the root element is an array.
ddlSchema
array(string)
DEPRECATED: A DDL-formatted schema. Schema can be used to coerce values into more appropriate data types.
dateFormat
string
Sets the string that indicates a date format. The rfc3339 is the only required format, the other format strings are implementation-specific.
Default: rfc3339
encoding
string
Allows to forcibly set one of standard basic or extended encodings.
Default: utf8
timestampFormat
string
Sets the string that indicates a timestamp format. The rfc3339 is the only required format, the other format strings are implementation-specific.
Reader for GeoJSON files. It expects one FeatureCollection object in the root and will create a record per each Feature inside it extracting the properties into individual columns and leaving the feature geometry in its own column.
Property
Type
Required
Format
Description
ddlSchema
array(string)
DEPRECATED: A DDL-formatted schema. Schema can be used to coerce values into more appropriate data types.
Reader for Newline-delimited GeoJSON files. It is similar to GeoJson format but instead of FeatureCollection object in the root it expects every individual feature object to appear on its own line.
Property
Type
Required
Format
Description
ddlSchema
array(string)
DEPRECATED: A DDL-formatted schema. Schema can be used to coerce values into more appropriate data types.
DEPRECATED: A DDL-formatted schema. Schema can be used to coerce values into more appropriate data types.
subPath
string
If the ZIP archive contains multiple shapefiles use this field to specify a sub-path to the desired .shp file. Can contain glob patterns to act as a filter.
Type-specific details of a task failure. The kind property identifies the error, e.g. InputDatasetCompacted, and the remaining properties depend on it.Map of string keys to arbitrary values.
Whether retrying the task could succeed, e.g. after a network error. An unrecoverable failure, such as an invalid query, would fail the same way again.
Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.
How the flow run proceeds when this task finishes with a NoOp outcome: Continue executes the next task, while Break finishes the flow run early without an error.
How the flow run proceeds when this task finishes with a Failed outcome: Fail finishes the flow run with an error, while Continue executes the next task.
Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.
How the flow run proceeds when this task finishes with a NoOp outcome: Continue executes the next task, while Break finishes the flow run early without an error.
How the flow run proceeds when this task finishes with a Failed outcome: Fail finishes the flow run with an error, while Continue executes the next task.
Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.
How the flow run proceeds when this task finishes with a NoOp outcome: Continue executes the next task, while Break finishes the flow run early without an error.
How the flow run proceeds when this task finishes with a Failed outcome: Fail finishes the flow run with an error, while Continue executes the next task.
Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.
How the flow run proceeds when this task finishes with a NoOp outcome: Continue executes the next task, while Break finishes the flow run early without an error.
How the flow run proceeds when this task finishes with a Failed outcome: Fail finishes the flow run with an error, while Continue executes the next task.
Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.
How the flow run proceeds when this task finishes with a NoOp outcome: Continue executes the next task, while Break finishes the flow run early without an error.
How the flow run proceeds when this task finishes with a Failed outcome: Fail finishes the flow run with an error, while Continue executes the next task.
Default: Fail
maxSliceSize
string
byte-size
Target maximum size of each compacted data slice e.g. 100MiB.
maxSliceRecords
integer
uint64
Target maximum number of records per compacted data slice.
Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.
How the flow run proceeds when this task finishes with a NoOp outcome: Continue executes the next task, while Break finishes the flow run early without an error.
How the flow run proceeds when this task finishes with a Failed outcome: Fail finishes the flow run with an error, while Continue executes the next task.
Expected hash of the block the reference currently points to. When specified, the task fails if the reference has moved, protecting against concurrent updates.
Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.
How the flow run proceeds when this task finishes with a NoOp outcome: Continue executes the next task, while Break finishes the flow run early without an error.
How the flow run proceeds when this task finishes with a Failed outcome: Fail finishes the flow run with an error, while Continue executes the next task.
Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.
How the flow run proceeds when this task finishes with a NoOp outcome: Continue executes the next task, while Break finishes the flow run early without an error.
How the flow run proceeds when this task finishes with a Failed outcome: Fail finishes the flow run with an error, while Continue executes the next task.
Default: Fail
replayTransform
boolean
If true, re-executes transformations on derivative datasets to verify reproducibility.
Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.
How the flow run proceeds when this task finishes with a NoOp outcome: Continue executes the next task, while Break finishes the flow run early without an error.
How the flow run proceeds when this task finishes with a Failed outcome: Fail finishes the flow run with an error, while Continue executes the next task.
Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.
How the flow run proceeds when this task finishes with a NoOp outcome: Continue executes the next task, while Break finishes the flow run early without an error.
How the flow run proceeds when this task finishes with a Failed outcome: Fail finishes the flow run with an error, while Continue executes the next task.
Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.
How the flow run proceeds when this task finishes with a NoOp outcome: Continue executes the next task, while Break finishes the flow run early without an error.
How the flow run proceeds when this task finishes with a Failed outcome: Fail finishes the flow run with an error, while Continue executes the next task.
Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.
How the flow run proceeds when this task finishes with a NoOp outcome: Continue executes the next task, while Break finishes the flow run early without an error.
How the flow run proceeds when this task finishes with a Failed outcome: Fail finishes the flow run with an error, while Continue executes the next task.
Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.
How the flow run proceeds when this task finishes with a NoOp outcome: Continue executes the next task, while Break finishes the flow run early without an error.
How the flow run proceeds when this task finishes with a Failed outcome: Fail finishes the flow run with an error, while Continue executes the next task.
Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.
How the flow run proceeds when this task finishes with a NoOp outcome: Continue executes the next task, while Break finishes the flow run early without an error.
How the flow run proceeds when this task finishes with a Failed outcome: Fail finishes the flow run with an error, while Continue executes the next task.
Default: Fail
maxSliceSize
string
byte-size
Target maximum size of each compacted data slice e.g. 100MiB.
maxSliceRecords
integer
uint64
Target maximum number of records per compacted data slice.
Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.
How the flow run proceeds when this task finishes with a NoOp outcome: Continue executes the next task, while Break finishes the flow run early without an error.
How the flow run proceeds when this task finishes with a Failed outcome: Fail finishes the flow run with an error, while Continue executes the next task.
Expected hash of the block the reference currently points to. When specified, the task fails if the reference has moved, protecting against concurrent updates.
Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.
How the flow run proceeds when this task finishes with a NoOp outcome: Continue executes the next task, while Break finishes the flow run early without an error.
How the flow run proceeds when this task finishes with a Failed outcome: Fail finishes the flow run with an error, while Continue executes the next task.
Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.
How the flow run proceeds when this task finishes with a NoOp outcome: Continue executes the next task, while Break finishes the flow run early without an error.
How the flow run proceeds when this task finishes with a Failed outcome: Fail finishes the flow run with an error, while Continue executes the next task.
Default: Fail
replayTransform
boolean
If true, re-executes transformations on derivative datasets to verify reproducibility.
Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.
How the flow run proceeds when this task finishes with a NoOp outcome: Continue executes the next task, while Break finishes the flow run early without an error.
How the flow run proceeds when this task finishes with a Failed outcome: Fail finishes the flow run with an error, while Continue executes the next task.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Kamu Docs","colors":{"primary":"#ec6e2a","light":"#ec6e2a","dark":"#ec6e2a"},"logo":{"light":"https://mintcdn.com/kamu/j1tx5fgzyFHd1DYS/images/kamu-logo-light.svg?fit=max\u0026auto=format\u0026n=j1tx5fgzyFHd1DYS\u0026q=85\u0026s=a09261b617da6e1515dea3d28495f633","dark":"https://mintcdn.com/kamu/j1tx5fgzyFHd1DYS/images/kamu-logo-dark.svg?fit=max\u0026auto=format\u0026n=j1tx5fgzyFHd1DYS\u0026q=85\u0026s=8c6d0d7ffa23ef050859453f64354192"},"favicon":"https://mintcdn.com/kamu/j1tx5fgzyFHd1DYS/images/favicon.svg?fit=max\u0026auto=format\u0026n=j1tx5fgzyFHd1DYS\u0026q=85\u0026s=a7b01f8f352427f5a4afe3aef1f8a9d3","background":{"color":{"dark":"#050C1E"}},"navbar":{"links":[{"href":"https://discord.gg/nU6TXRQNXC","label":"Get Help"}],"primary":{"type":"button","label":"Install","href":"/cli/install/"}},"footer":{"socials":{"github":"https://github.com/kamu-data","discord":"https://discord.gg/nU6TXRQNXC","youtube":"https://www.youtube.com/@kamudata","linkedin":"https://www.linkedin.com/company/kamu-data","medium":"https://medium.com/kamu-data","bluesky":"https://bsky.app/profile/kamu.dev","x":"https://x.com/kamu_data"},"links":[{"header":"Company","items":[{"label":"Blog","href":"https://kamu.dev/blog"},{"label":"Careers","href":"https://kamu.dev/jobs"}]}]},"seo":{"metatags":{"canonical":"https://docs.kamu.dev"}},"styling":{"eyebrows":"breadcrumbs","latex":false},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"metadata":{"timestamp":true},"navigation":{"global":{"anchors":[]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"kamu","hasAudioNarration":false,"actualSubdomain":"kamu","customDomains":["docs.kamu.dev"],"gitSource":{"type":"github","owner":"kamu-data","repo":"kamu-docs","deployBranch":"master","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad05633011b02bffcb4463d","collectionId":"0127742b-6059-4668-b046-f443923b1bdd","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad05633011b02bffcb4463d"},"entitlements":{},"buildId":"6ad05633011b02bffcb4463d","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"default","tag":"Guides","count":75},{"language":"default","tag":"Reference","count":42},{"language":"default","tag":"Open Data Fabric","count":39},{"language":"default","tag":"Kamu CLI","count":31},{"language":"default","tag":"RFCs","count":22},{"language":"default","tag":"Kamu Node","count":17},{"language":"default","tag":"Specification","count":15},{"language":"default","tag":"APIs","count":13},{"language":"default","tag":"Get Started","count":12},{"language":"default","tag":"Datasets","count":10}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"a.card:is(.dark *),div.card:is(.dark *){background:#09162d}a.card:is(.light *),div.card:is(.light *){background:#fafafa}a:has(svg[style*=\"wrench.svg\"]){pointer-events:none;opacity:.7}button:has(svg[style*=\"wrench.svg\"]){opacity:.7}a:has(svg[style*=\"wrench.svg\"])>div:first-child,button:has(svg[style*=\"wrench.svg\"])>svg[style*=\"wrench.svg\"]{order:2;margin-left:auto}.prose a.glossary-term:is(.dark *, .light *){color:inherit;font-weight:inherit;border-bottom:2px dotted #325495}.prose a.schema-object:is(.dark *, .light *){color:inherit;font-weight:inherit;border-bottom:2px dotted #2c802c}h4.project-title:is(.dark *, .light *){display:block;text-align:center}div.badges a,h4.project-title a{border-bottom:0}a.project-quicklink:is(.dark *, .light *){font-size:15px;font-weight:300;color:#ec6e2a;border-bottom:0}.prose div img:is(\n [src*=\"projects/odf.svg\"],\n [src*=\"projects/kamu-cli.svg\"],\n [src*=\"projects/kamu-node.svg\"],\n [src*=\"projects/kamu-platform.svg\"]\n ){display:block;margin:30px auto 0;height:100px;width:auto}div.badges{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:10px;margin:20px}div.badges img{display:inline;margin:0}"}],"page":{"pagePath":"odf/schemas","slug":"/odf/schemas","pageMetadata":{"title":"Schemas","description":"Schemas of common metadata objects","href":"/odf/schemas"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Schemas of common metadata objects\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];const YouTubeList=({id})=>{const src=`https://www.youtube.com/embed/videoseries?list=${id}`;return _jsx(`iframe`,{className:`mint-w-full mint-aspect-video mint-rounded-xl`,src,allow:`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture`,allowFullScreen:true})};const YouTube=({id,width})=>{const src=`https://www.youtube.com/embed/${id}`;return _jsx(`iframe`,{className:`mint-w-full mint-aspect-video mint-rounded-xl`,src,allow:`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture`,allowFullScreen:true,width})};const Schema=({t,id})=>{const _components={a:`a`,..._provideComponents()};const anchor=id?id:t.toLowerCase().replace(/\\s+/g,`-`);const link=`/odf/schemas#${anchor}`;return _jsx(_components.a,{class:`schema-object`,href:link,children:t})};const Term=({t,id})=>{const _components={a:`a`,..._provideComponents()};const anchor=id?id:t.toLowerCase().replace(/\\s+/g,`-`);const link=`/general/glossary#${anchor}`;return _jsx(_components.a,{class:`glossary-term`,href:link,children:t})};const Diagram=({src,alt})=>{return _jsxs(`div`,{style:{display:`flex`,\"flex-direction\":`column`,\"align-items\":`center`},children:[_jsx(`img`,{src,alt,style:{background:`#dddddd`,\"margin-bottom\":0}}),_jsx(`span`,{children:alt})]})};function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,img:`img`,li:`li`,p:`p`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Table}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`auth`,children:`Auth`}),`\n`,_jsx(Heading,{level:`3`,id:`group`,children:_jsx(_components.code,{children:`Group`})}),`\n`,_jsxs(_components.p,{children:[`A named, possibly nested set of principals. Policies can be bound to groups so that permissions are granted to all members at once. Some group names are reserved, e.g. `,_jsx(_components.code,{children:`{org}/admins`}),` and `,_jsx(_components.code,{children:`{org}/members`}),` are created together with an organization.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`$schema`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`type-uri`})}),_jsx(_components.td,{children:`Identifies this resource type.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`headers`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceheadersinput`,children:_jsx(_components.code,{children:`ResourceHeadersInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Container for identity and ownership information of a resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`spec`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#groupspecinput`,children:_jsx(_components.code,{children:`GroupSpecInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Specifies the desired state of the resource.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/Group.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`groupspec`,children:_jsx(_components.code,{children:`GroupSpec`})}),`\n`,_jsx(_components.p,{children:`Group specification.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`members`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#subjecthandle`,children:_jsx(_components.code,{children:`SubjectHandle`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Members of the group. Only the `,_jsx(_components.code,{children:`Resource`}),` subject kind is allowed, so that well-known subjects like `,_jsx(_components.code,{children:`Everyone`}),` cannot be nested into a group.`]})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/GroupSpec.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`groupspecinput`,children:_jsx(_components.code,{children:`GroupSpecInput`})}),`\n`,_jsx(_components.p,{children:`Group specification.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`members`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#subjectref`,children:_jsx(_components.code,{children:`SubjectRef`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Members of the group. Only the `,_jsx(_components.code,{children:`Resource`}),` subject kind is allowed, so that well-known subjects like `,_jsx(_components.code,{children:`Everyone`}),` cannot be nested into a group.`]})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/GroupSpecInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`node`,children:_jsx(_components.code,{children:`Node`})}),`\n`,_jsxs(_components.p,{children:[`An entire ODF deployment acting under a single identity. The node acts as a principal in system tasks and node-to-node communications and owns node-wide resources like the reserved `,_jsx(_components.code,{children:`{node}/admins`}),` group.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`$schema`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`type-uri`})}),_jsx(_components.td,{children:`Identifies this resource type.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`headers`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceheadersinput`,children:_jsx(_components.code,{children:`ResourceHeadersInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Container for identity and ownership information of a resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`spec`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#nodespecinput`,children:_jsx(_components.code,{children:`NodeSpecInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Specifies the desired state of the resource.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/Node.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`nodespec`,children:_jsx(_components.code,{children:`NodeSpec`})}),`\n`,_jsx(_components.p,{children:`Node account specification.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`did`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`account-id`})}),_jsx(_components.td,{children:`DID associated with the account by ODF or an external system.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`displayName`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Human-friendly display name.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/NodeSpec.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`nodespecinput`,children:_jsx(_components.code,{children:`NodeSpecInput`})}),`\n`,_jsx(_components.p,{children:`Node account specification.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`did`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`account-id`})}),_jsx(_components.td,{children:`DID associated with the account by ODF or an external system.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`displayName`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Human-friendly display name.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/NodeSpecInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`organization`,children:_jsx(_components.code,{children:`Organization`})}),`\n`,_jsxs(_components.p,{children:[`An account that owns resources on behalf of a group of users but cannot authenticate or act itself. Upon creation the node creates reserved groups `,_jsx(_components.code,{children:`{org}/admins`}),`, whose members have owner rights over all resources of the organization, and `,_jsx(_components.code,{children:`{org}/members`}),`.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`$schema`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`type-uri`})}),_jsx(_components.td,{children:`Identifies this resource type.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`headers`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceheadersinput`,children:_jsx(_components.code,{children:`ResourceHeadersInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Container for identity and ownership information of a resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`spec`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#organizationspecinput`,children:_jsx(_components.code,{children:`OrganizationSpecInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Specifies the desired state of the resource.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/Organization.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`organizationspec`,children:_jsx(_components.code,{children:`OrganizationSpec`})}),`\n`,_jsx(_components.p,{children:`Organization account specification.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`displayName`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Human-friendly display name.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`avatarUrl`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uri`})}),_jsx(_components.td,{children:`URL of the account’s avatar image.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`disabled`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`boolean`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Suspends the account. Effects of suspension are implementation-specific.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/OrganizationSpec.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`organizationspecinput`,children:_jsx(_components.code,{children:`OrganizationSpecInput`})}),`\n`,_jsx(_components.p,{children:`Organization account specification.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`displayName`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Human-friendly display name.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`avatarUrl`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uri`})}),_jsx(_components.td,{children:`URL of the account’s avatar image.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`disabled`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`boolean`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Suspends the account. Effects of suspension are implementation-specific.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/OrganizationSpecInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`policy`,children:_jsx(_components.code,{children:`Policy`})}),`\n`,_jsxs(_components.p,{children:[`A reusable grant of permissions. Policies with subject and object slots are templates instantiated via `,_jsx(_components.code,{children:`PolicyBinding`}),`, while policies without slots take effect on their own.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`$schema`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`type-uri`})}),_jsx(_components.td,{children:`Identifies this resource type.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`headers`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceheadersinput`,children:_jsx(_components.code,{children:`ResourceHeadersInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Container for identity and ownership information of a resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`spec`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#policyspecinput`,children:_jsx(_components.code,{children:`PolicySpecInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Specifies the desired state of the resource.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/Policy.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`policybinding`,children:_jsx(_components.code,{children:`PolicyBinding`})}),`\n`,_jsxs(_components.p,{children:[`Instantiates a `,_jsx(_components.code,{children:`Policy`}),` template for a concrete subject and object.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`$schema`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`type-uri`})}),_jsx(_components.td,{children:`Identifies this resource type.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`headers`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceheadersinput`,children:_jsx(_components.code,{children:`ResourceHeadersInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Container for identity and ownership information of a resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`spec`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#policybindingspecinput`,children:_jsx(_components.code,{children:`PolicyBindingSpecInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Specifies the desired state of the resource.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/PolicyBinding.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`policybindingspec`,children:_jsx(_components.code,{children:`PolicyBindingSpec`})}),`\n`,_jsx(_components.p,{children:`Policy binding specification.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`policy`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourcehandle`,children:_jsx(_components.code,{children:`ResourceHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Policy template to instantiate.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`subject`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#subjecthandle`,children:_jsx(_components.code,{children:`SubjectHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Party the permissions are granted to.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`object`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourcehandle`,children:_jsx(_components.code,{children:`ResourceHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Resource the permissions are granted on. Refers to both the resource and the entity materialized from it.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/PolicyBindingSpec.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`policybindingspecinput`,children:_jsx(_components.code,{children:`PolicyBindingSpecInput`})}),`\n`,_jsx(_components.p,{children:`Policy binding specification.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`policy`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#policyref`,children:_jsx(_components.code,{children:`PolicyRef`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Policy template to instantiate.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`subject`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#subjectref`,children:_jsx(_components.code,{children:`SubjectRef`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Party the permissions are granted to.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`object`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceref`,children:_jsx(_components.code,{children:`ResourceRef`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Resource the permissions are granted on. Refers to both the resource and the entity materialized from it.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/PolicyBindingSpecInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`policyref`,children:_jsx(_components.code,{children:`PolicyRef`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`account`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceownerref`,children:_jsx(_components.code,{children:`ResourceOwnerRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Reference to an account that owns the `,_jsx(_components.code,{children:`Policy`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`id`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`resource-id`})}),_jsx(_components.td,{children:`ID of the resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`resource-name`})}),_jsx(_components.td,{children:`Name of the resource.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/PolicyRef.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`policyspec`,children:_jsx(_components.code,{children:`PolicySpec`})}),`\n`,_jsxs(_components.p,{children:[`Policy specification. The `,_jsx(_components.code,{children:`kind`}),` selects the policy language.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Union Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#policyspecgeneric`,children:_jsx(_components.code,{children:`PolicySpec::Generic`})})}),_jsxs(_components.td,{children:[`Engine-agnostic policy that grants a set of actions. Subject and object are always supplied by a `,_jsx(_components.code,{children:`PolicyBinding`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#policyspeccedar`,children:_jsx(_components.code,{children:`PolicySpec::Cedar`})})}),_jsxs(_components.td,{children:[`Policy expressed in the Cedar policy language. Policies that declare `,_jsx(_components.code,{children:`?principal`}),` and `,_jsx(_components.code,{children:`?resource`}),` slots are templates instantiated via `,_jsx(_components.code,{children:`PolicyBinding`}),`, otherwise they take effect on their own. Only supported by nodes that use Cedar.`]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/PolicySpec.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`policyspecgeneric`,children:_jsx(_components.code,{children:`PolicySpec::Generic`})}),`\n`,_jsxs(_components.p,{children:[`Engine-agnostic policy that grants a set of actions. Subject and object are always supplied by a `,_jsx(_components.code,{children:`PolicyBinding`}),`.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`actions`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`array(string)`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Schema URIs of actions granted by the policy.`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/PolicySpec.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`policyspeccedar`,children:_jsx(_components.code,{children:`PolicySpec::Cedar`})}),`\n`,_jsxs(_components.p,{children:[`Policy expressed in the Cedar policy language. Policies that declare `,_jsx(_components.code,{children:`?principal`}),` and `,_jsx(_components.code,{children:`?resource`}),` slots are templates instantiated via `,_jsx(_components.code,{children:`PolicyBinding`}),`, otherwise they take effect on their own. Only supported by nodes that use Cedar.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`body`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Cedar policy source.`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/PolicySpec.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`policyspecinput`,children:_jsx(_components.code,{children:`PolicySpecInput`})}),`\n`,_jsxs(_components.p,{children:[`Policy specification. The `,_jsx(_components.code,{children:`kind`}),` selects the policy language.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Union Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#policyspecinputgeneric`,children:_jsx(_components.code,{children:`PolicySpecInput::Generic`})})}),_jsxs(_components.td,{children:[`Engine-agnostic policy that grants a set of actions. Subject and object are always supplied by a `,_jsx(_components.code,{children:`PolicyBinding`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#policyspecinputcedar`,children:_jsx(_components.code,{children:`PolicySpecInput::Cedar`})})}),_jsxs(_components.td,{children:[`Policy expressed in the Cedar policy language. Policies that declare `,_jsx(_components.code,{children:`?principal`}),` and `,_jsx(_components.code,{children:`?resource`}),` slots are templates instantiated via `,_jsx(_components.code,{children:`PolicyBinding`}),`, otherwise they take effect on their own. Only supported by nodes that use Cedar.`]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/PolicySpecInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`policyspecinputgeneric`,children:_jsx(_components.code,{children:`PolicySpecInput::Generic`})}),`\n`,_jsxs(_components.p,{children:[`Engine-agnostic policy that grants a set of actions. Subject and object are always supplied by a `,_jsx(_components.code,{children:`PolicyBinding`}),`.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`actions`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`array(string)`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Schema URIs of actions granted by the policy.`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/PolicySpecInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`policyspecinputcedar`,children:_jsx(_components.code,{children:`PolicySpecInput::Cedar`})}),`\n`,_jsxs(_components.p,{children:[`Policy expressed in the Cedar policy language. Policies that declare `,_jsx(_components.code,{children:`?principal`}),` and `,_jsx(_components.code,{children:`?resource`}),` slots are templates instantiated via `,_jsx(_components.code,{children:`PolicyBinding`}),`, otherwise they take effect on their own. Only supported by nodes that use Cedar.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`body`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Cedar policy source.`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/PolicySpecInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`principalhandle`,children:_jsx(_components.code,{children:`PrincipalHandle`})}),`\n`,_jsxs(_components.p,{children:[`Link to a resolved identity that can act as a principal: `,_jsx(_components.code,{children:`User`}),`, `,_jsx(_components.code,{children:`ServiceAccount`}),`, or `,_jsx(_components.code,{children:`Node`}),`.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`type`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`type-uri`})}),_jsx(_components.td,{children:`Type URI of the principal.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`account`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceownerhandle`,children:_jsx(_components.code,{children:`ResourceOwnerHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Account that owns the service account.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`id`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`resource-id`})}),_jsx(_components.td,{children:`ID of the principal resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`did`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`did`})}),_jsx(_components.td,{children:`DID of the principal, if applicable.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`resource-name`})}),_jsx(_components.td,{children:`Name of the principal resource.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/PrincipalHandle.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`principalref`,children:_jsx(_components.code,{children:`PrincipalRef`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`type`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`type-ref`})}),_jsx(_components.td,{children:`Short type name or full type URI of the principal.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`account`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceownerref`,children:_jsx(_components.code,{children:`ResourceOwnerRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to an account that owns the service account.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`id`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`resource-id`})}),_jsx(_components.td,{children:`ID of the principal resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`did`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`did`})}),_jsx(_components.td,{children:`DID of the principal.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`resource-name`})}),_jsx(_components.td,{children:`Name of the principal resource.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/PrincipalRef.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`resourceownerhandle`,children:_jsx(_components.code,{children:`ResourceOwnerHandle`})}),`\n`,_jsxs(_components.p,{children:[`Link to a resolved account that can own resources: `,_jsx(_components.code,{children:`User`}),`, `,_jsx(_components.code,{children:`Organization`}),`, or `,_jsx(_components.code,{children:`Node`}),`.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`id`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`resource-id`})}),_jsx(_components.td,{children:`ID of the account resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`did`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`account-id`})}),_jsx(_components.td,{children:`DID of the account.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`account-name`})}),_jsx(_components.td,{children:`Name of the account.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/ResourceOwnerHandle.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`resourceownerref`,children:_jsx(_components.code,{children:`ResourceOwnerRef`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`id`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`resource-id`})}),_jsx(_components.td,{children:`UUID of the account resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`did`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`account-id`})}),_jsx(_components.td,{children:`DID of the account.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`account-name`})}),_jsx(_components.td,{children:`Name of the account.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/ResourceOwnerRef.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`serviceaccount`,children:_jsx(_components.code,{children:`ServiceAccount`})}),`\n`,_jsx(_components.p,{children:`A non-human identity used by automation (scheduled flows, CI, installed applications). Service accounts are scoped under an owning account and can act as principals, but cannot own resources.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`$schema`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`type-uri`})}),_jsx(_components.td,{children:`Identifies this resource type.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`headers`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceheadersinput`,children:_jsx(_components.code,{children:`ResourceHeadersInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Container for identity and ownership information of a resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`spec`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#serviceaccountspecinput`,children:_jsx(_components.code,{children:`ServiceAccountSpecInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Specifies the desired state of the resource.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/ServiceAccount.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`serviceaccountspec`,children:_jsx(_components.code,{children:`ServiceAccountSpec`})}),`\n`,_jsx(_components.p,{children:`Service account specification.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`displayName`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Human-friendly display name.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`disabled`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`boolean`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Suspends the account. Effects of suspension are implementation-specific.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/ServiceAccountSpec.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`serviceaccountspecinput`,children:_jsx(_components.code,{children:`ServiceAccountSpecInput`})}),`\n`,_jsx(_components.p,{children:`Service account specification.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`displayName`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Human-friendly display name.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`disabled`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`boolean`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Suspends the account. Effects of suspension are implementation-specific.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/ServiceAccountSpecInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`subjecthandle`,children:_jsx(_components.code,{children:`SubjectHandle`})}),`\n`,_jsx(_components.p,{children:`Resolved reference to a party a grant is given to.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Union Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#subjecthandleresource`,children:_jsx(_components.code,{children:`SubjectHandle::Resource`})})}),_jsxs(_components.td,{children:[`A specific `,_jsx(_components.code,{children:`User`}),`, `,_jsx(_components.code,{children:`ServiceAccount`}),`, `,_jsx(_components.code,{children:`Node`}),`, or members of a `,_jsx(_components.code,{children:`Group`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#subjecthandleauthenticated`,children:_jsx(_components.code,{children:`SubjectHandle::Authenticated`})})}),_jsx(_components.td,{children:`Matches any authenticated principal.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#subjecthandleanonymous`,children:_jsx(_components.code,{children:`SubjectHandle::Anonymous`})})}),_jsx(_components.td,{children:`Matches any unauthenticated principal.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#subjecthandleeveryone`,children:_jsx(_components.code,{children:`SubjectHandle::Everyone`})})}),_jsx(_components.td,{children:`Matches any principal, authenticated or not.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/SubjectHandle.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`subjecthandleresource`,children:_jsx(_components.code,{children:`SubjectHandle::Resource`})}),`\n`,_jsxs(_components.p,{children:[`A specific `,_jsx(_components.code,{children:`User`}),`, `,_jsx(_components.code,{children:`ServiceAccount`}),`, `,_jsx(_components.code,{children:`Node`}),`, or members of a `,_jsx(_components.code,{children:`Group`}),`.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`type`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`type-uri`})}),_jsx(_components.td,{children:`Type URI of the subject resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`account`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceownerhandle`,children:_jsx(_components.code,{children:`ResourceOwnerHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Account that owns the subject resource (for service accounts and groups).`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`id`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`resource-id`})}),_jsx(_components.td,{children:`ID of the subject resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`did`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`did`})}),_jsx(_components.td,{children:`DID of the subject resource, if applicable.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`resource-name`})}),_jsx(_components.td,{children:`Name of the subject resource.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/SubjectHandle.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`subjecthandleauthenticated`,children:_jsx(_components.code,{children:`SubjectHandle::Authenticated`})}),`\n`,_jsx(_components.p,{children:`Matches any authenticated principal.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/SubjectHandle.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`subjecthandleanonymous`,children:_jsx(_components.code,{children:`SubjectHandle::Anonymous`})}),`\n`,_jsx(_components.p,{children:`Matches any unauthenticated principal.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/SubjectHandle.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`subjecthandleeveryone`,children:_jsx(_components.code,{children:`SubjectHandle::Everyone`})}),`\n`,_jsx(_components.p,{children:`Matches any principal, authenticated or not.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/SubjectHandle.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`subjectref`,children:_jsx(_components.code,{children:`SubjectRef`})}),`\n`,_jsxs(_components.p,{children:[`Reference to a party a grant is given to. Unlike a principal, a subject may stand for many principals at once. Short form is either a well-known subject name (e.g. `,_jsx(_components.code,{children:`Authenticated`}),`) or a resource reference with a type prefix, DID, or ID (e.g. `,_jsx(_components.code,{children:`Group:acme/engineering`}),`).`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Union Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#subjectrefresource`,children:_jsx(_components.code,{children:`SubjectRef::Resource`})})}),_jsxs(_components.td,{children:[`A specific `,_jsx(_components.code,{children:`User`}),`, `,_jsx(_components.code,{children:`ServiceAccount`}),`, `,_jsx(_components.code,{children:`Node`}),`, or members of a `,_jsx(_components.code,{children:`Group`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#subjectrefauthenticated`,children:_jsx(_components.code,{children:`SubjectRef::Authenticated`})})}),_jsx(_components.td,{children:`Matches any authenticated principal.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#subjectrefanonymous`,children:_jsx(_components.code,{children:`SubjectRef::Anonymous`})})}),_jsx(_components.td,{children:`Matches any unauthenticated principal.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#subjectrefeveryone`,children:_jsx(_components.code,{children:`SubjectRef::Everyone`})})}),_jsx(_components.td,{children:`Matches any principal, authenticated or not.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/SubjectRef.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`subjectrefresource`,children:_jsx(_components.code,{children:`SubjectRef::Resource`})}),`\n`,_jsxs(_components.p,{children:[`A specific `,_jsx(_components.code,{children:`User`}),`, `,_jsx(_components.code,{children:`ServiceAccount`}),`, `,_jsx(_components.code,{children:`Node`}),`, or members of a `,_jsx(_components.code,{children:`Group`}),`.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`type`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`type-ref`})}),_jsx(_components.td,{children:`Short type name or full type URI of the subject resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`account`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceownerref`,children:_jsx(_components.code,{children:`ResourceOwnerRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to an account that owns the subject resource (for service accounts and groups).`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`id`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`resource-id`})}),_jsx(_components.td,{children:`ID of the subject resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`did`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`did`})}),_jsx(_components.td,{children:`DID of the subject resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`resource-name`})}),_jsx(_components.td,{children:`Name of the subject resource.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/SubjectRef.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`subjectrefauthenticated`,children:_jsx(_components.code,{children:`SubjectRef::Authenticated`})}),`\n`,_jsx(_components.p,{children:`Matches any authenticated principal.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/SubjectRef.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`subjectrefanonymous`,children:_jsx(_components.code,{children:`SubjectRef::Anonymous`})}),`\n`,_jsx(_components.p,{children:`Matches any unauthenticated principal.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/SubjectRef.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`subjectrefeveryone`,children:_jsx(_components.code,{children:`SubjectRef::Everyone`})}),`\n`,_jsx(_components.p,{children:`Matches any principal, authenticated or not.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/SubjectRef.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`user`,children:_jsx(_components.code,{children:`User`})}),`\n`,_jsx(_components.p,{children:`An individual person who can authenticate and act as a principal.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`$schema`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`type-uri`})}),_jsx(_components.td,{children:`Identifies this resource type.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`headers`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceheadersinput`,children:_jsx(_components.code,{children:`ResourceHeadersInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Container for identity and ownership information of a resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`spec`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#userspecinput`,children:_jsx(_components.code,{children:`UserSpecInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Specifies the desired state of the resource.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/User.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`userspec`,children:_jsx(_components.code,{children:`UserSpec`})}),`\n`,_jsx(_components.p,{children:`User account specification.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`did`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`account-id`})}),_jsx(_components.td,{children:`DID associated with the account by ODF or an external system.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`displayName`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Human-friendly display name.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`email`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`email`})}),_jsx(_components.td,{children:`Email address of the user.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`avatarUrl`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uri`})}),_jsx(_components.td,{children:`URL of the account’s avatar image.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`password`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#secret`,children:_jsx(_components.code,{children:`Secret`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Password for local authentication, stored as a hash upon apply. Absent for SSO or DID-based accounts.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`disabled`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`boolean`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Suspends the account. Effects of suspension are implementation-specific.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/UserSpec.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`userspecinput`,children:_jsx(_components.code,{children:`UserSpecInput`})}),`\n`,_jsx(_components.p,{children:`User account specification.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`did`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`account-id`})}),_jsx(_components.td,{children:`DID associated with the account by ODF or an external system.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`displayName`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Human-friendly display name.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`email`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`email`})}),_jsx(_components.td,{children:`Email address of the user.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`avatarUrl`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uri`})}),_jsx(_components.td,{children:`URL of the account’s avatar image.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`password`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#secret`,children:_jsx(_components.code,{children:`Secret`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Password for local authentication, stored as a hash upon apply. Absent for SSO or DID-based accounts.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`disabled`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`boolean`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Suspends the account. Effects of suspension are implementation-specific.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/UserSpecInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`bindpolicy`,children:_jsx(_components.code,{children:`BindPolicy`})}),`\n`,_jsxs(_components.p,{children:[`Create `,_jsx(_components.code,{children:`PolicyBinding`}),` resources that reference this resource as `,_jsx(_components.code,{children:`object`}),`.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`subject`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#subjecthandle`,children:_jsx(_components.code,{children:`SubjectHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Subject of the binding being created, allowing policies to restrict granting access to e.g. `,_jsx(_components.code,{children:`Everyone`}),`.`]})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/auth/v1alpha1/actions/BindPolicy.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`2`,id:`config`,children:`Config`}),`\n`,_jsx(Heading,{level:`3`,id:`secret`,children:_jsx(_components.code,{children:`Secret`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`value`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`A secret value in raw or encoded form.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`contentEncoding`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Represents the encoding of the value. Typically will be `,_jsx(_components.code,{children:`jwe`}),` after a raw secret gets encrypted.`]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/config/v1alpha1/Secret.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`secretset`,children:_jsx(_components.code,{children:`SecretSet`})}),`\n`,_jsx(_components.p,{children:`Defines a set of secrets stored and managed by the ODF node.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`$schema`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`type-uri`})}),_jsx(_components.td,{children:`Identifies this resource type.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`headers`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceheadersinput`,children:_jsx(_components.code,{children:`ResourceHeadersInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Container for identity and ownership information of a resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`spec`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#secretsetspecinput`,children:_jsx(_components.code,{children:`SecretSetSpecInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Specifies the desired state of the secret set.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/config/v1alpha1/SecretSet.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`secretsetspec`,children:_jsx(_components.code,{children:`SecretSetSpec`})}),`\n`,_jsx(_components.p,{children:`Defines a set of secrets stored and managed by the ODF node and accessible via embedded sercets provider.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`secrets`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#secrets`,children:_jsx(_components.code,{children:`Secrets`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Key value pairs of secrets.`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/config/v1alpha1/SecretSetSpec.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`secretsetspecinput`,children:_jsx(_components.code,{children:`SecretSetSpecInput`})}),`\n`,_jsx(_components.p,{children:`Defines a set of secrets stored and managed by the ODF node and accessible via embedded sercets provider.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`secrets`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#secrets`,children:_jsx(_components.code,{children:`Secrets`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Key value pairs of secrets.`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/config/v1alpha1/SecretSetSpecInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`secrets`,children:_jsx(_components.code,{children:`Secrets`})}),`\n`,_jsx(_components.p,{children:`Container for key-value secrets. Every key must be a string. Values may be strings with raw unencrypted data or objects that signify the encoding.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.em,{children:`Map of string keys to arbitrary values.`})}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/config/v1alpha1/Secrets.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`valuehandle`,children:_jsx(_components.code,{children:`ValueHandle`})}),`\n`,_jsxs(_components.p,{children:[`Reference to a value within a `,_jsx(_components.code,{children:`VariableSet`}),` or a `,_jsx(_components.code,{children:`SecretSet`}),`.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`account`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceownerhandle`,children:_jsx(_components.code,{children:`ResourceOwnerHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Account that owns the target resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`type`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`type-uri`})}),_jsx(_components.td,{children:`Type URI of the target resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`id`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`resource-id`})}),_jsx(_components.td,{children:`ID of the resource within a node.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`resource-name`})}),_jsx(_components.td,{children:`Name of a resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`path`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`JSON path to a value within a `,_jsx(_components.code,{children:`VariableSet`}),` or a `,_jsx(_components.code,{children:`SecretSet`}),`.`]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/config/v1alpha1/ValueHandle.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`valueref`,children:_jsx(_components.code,{children:`ValueRef`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`account`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceownerref`,children:_jsx(_components.code,{children:`ResourceOwnerRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Reference to an account that owns the `,_jsx(_components.code,{children:`VariableSet`}),` or the `,_jsx(_components.code,{children:`SecretSet`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`id`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`resource-id`})}),_jsx(_components.td,{children:`ID of a resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`type`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`type-ref`})}),_jsx(_components.td,{children:`Short type name or full type URI of the target resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`resource-name`})}),_jsx(_components.td,{children:`Name of a resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`path`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`JSON path to a value within a `,_jsx(_components.code,{children:`VariableSet`}),` or a `,_jsx(_components.code,{children:`SecretSet`}),`.`]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/config/v1alpha1/ValueRef.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`valuerefs`,children:_jsx(_components.code,{children:`ValueRefs`})}),`\n`,_jsxs(_components.p,{children:[`Container for key-value variables. Every key must be a string. Values shoud reference fields in `,_jsx(_components.code,{children:`SecretSet`}),`s and `,_jsx(_components.code,{children:`VariableSet`}),`s.`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.em,{children:`Map of string keys to arbitrary values.`})}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/config/v1alpha1/ValueRefs.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`variable`,children:_jsx(_components.code,{children:`Variable`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`value`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`A value in raw or encoded form.`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/config/v1alpha1/Variable.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`variableset`,children:_jsx(_components.code,{children:`VariableSet`})}),`\n`,_jsx(_components.p,{children:`Defines a set of variables stored and managed by the ODF node.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`$schema`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`type-uri`})}),_jsx(_components.td,{children:`Identifies this resource type.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`headers`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceheadersinput`,children:_jsx(_components.code,{children:`ResourceHeadersInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Container for identity and ownership information of a resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`spec`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#variablesetspecinput`,children:_jsx(_components.code,{children:`VariableSetSpecInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Specifies the desired state of the variable set.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/config/v1alpha1/VariableSet.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`variablesetspec`,children:_jsx(_components.code,{children:`VariableSetSpec`})}),`\n`,_jsx(_components.p,{children:`Defines a set of variables stored and managed by the ODF node and accessible via embedded variables provider.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`variables`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#variables`,children:_jsx(_components.code,{children:`Variables`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Key value pairs of variables.`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/config/v1alpha1/VariableSetSpec.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`variablesetspecinput`,children:_jsx(_components.code,{children:`VariableSetSpecInput`})}),`\n`,_jsx(_components.p,{children:`Defines a set of variables stored and managed by the ODF node and accessible via embedded variables provider.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`variables`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#variables`,children:_jsx(_components.code,{children:`Variables`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Key value pairs of variables.`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/config/v1alpha1/VariableSetSpecInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`variables`,children:_jsx(_components.code,{children:`Variables`})}),`\n`,_jsx(_components.p,{children:`Container for key-value variables. Every key must be a string. Values may be raw strings or objects that incorporate the encoding.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.em,{children:`Map of string keys to arbitrary values.`})}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/config/v1alpha1/Variables.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`decrypt`,children:_jsx(_components.code,{children:`Decrypt`})}),`\n`,_jsxs(_components.p,{children:[`Decrypt a secret from a `,_jsx(_components.code,{children:`SecretSet`}),`.`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/config/v1alpha1/actions/Decrypt.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`2`,id:`data`,children:`Data`}),`\n`,_jsx(Heading,{level:`3`,id:`datafield`,children:_jsx(_components.code,{children:`DataField`})}),`\n`,_jsx(_components.p,{children:`Represents a named field (column) in a root or nested struct schema`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Name of the field`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`type`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#datatype`,children:_jsx(_components.code,{children:`DataType`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Logical type of the field that defines its semantic behavior and value ranges`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`extra`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#extraattributes`,children:_jsx(_components.code,{children:`ExtraAttributes`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`ODF extensions`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/data/v1alpha1/DataField.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`dataschema`,children:_jsx(_components.code,{children:`DataSchema`})}),`\n`,_jsxs(_components.p,{children:[`This schema aims to be a human-friendly variant of Arrow. Arrow currently specifies only the `,_jsx(_components.a,{href:`https://github.com/apache/arrow/blob/f9301c0ba8a7ed1b0b63275cfdd4c44c26b04675/format/Schema.fbs`,children:`flatbuffer format`}),` which has many legacy to it and is not suited to be defined by humans, so we had to define our own schema format. While inspired by Arrow - this format makes a clear separation between logical data types and encoding (physical layout) of data in the chunks.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`fields`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#datafield`,children:_jsx(_components.code,{children:`DataField`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Top-level fields (columns) of the schema.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`extra`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#extraattributes`,children:_jsx(_components.code,{children:`ExtraAttributes`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`ODF extensions`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/data/v1alpha1/DataSchema.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`datatype`,children:_jsx(_components.code,{children:`DataType`})}),`\n`,_jsx(_components.p,{children:`Defines a logical type of the field. Logical type determines the semantics and boudaries of a type and how it can be operated on, without a concern about encoding and physical layout of the data in chunks.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Union Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#datatypebinary`,children:_jsx(_components.code,{children:`DataType::Binary`})})}),_jsx(_components.td,{children:`A sequence of bytes. Used for arbitrary binary data.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#datatypebool`,children:_jsx(_components.code,{children:`DataType::Bool`})})}),_jsx(_components.td,{children:`A boolean value representing true or false.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#datatypedate`,children:_jsx(_components.code,{children:`DataType::Date`})})}),_jsx(_components.td,{children:`A calendar date.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#datatypedecimal`,children:_jsx(_components.code,{children:`DataType::Decimal`})})}),_jsx(_components.td,{children:`A fixed-point decimal number with a specified precision and scale.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#datatypeduration`,children:_jsx(_components.code,{children:`DataType::Duration`})})}),_jsx(_components.td,{children:`An elapsed time interval with a specified time unit.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#datatypefloat16`,children:_jsx(_components.code,{children:`DataType::Float16`})})}),_jsx(_components.td,{children:`A floating-point number.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#datatypefloat32`,children:_jsx(_components.code,{children:`DataType::Float32`})})}),_jsx(_components.td,{children:`A floating-point number.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#datatypefloat64`,children:_jsx(_components.code,{children:`DataType::Float64`})})}),_jsx(_components.td,{children:`A floating-point number.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#datatypeint8`,children:_jsx(_components.code,{children:`DataType::Int8`})})}),_jsx(_components.td,{children:`An integer value.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#datatypeint16`,children:_jsx(_components.code,{children:`DataType::Int16`})})}),_jsx(_components.td,{children:`An integer value.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#datatypeint32`,children:_jsx(_components.code,{children:`DataType::Int32`})})}),_jsx(_components.td,{children:`An integer value.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#datatypeint64`,children:_jsx(_components.code,{children:`DataType::Int64`})})}),_jsx(_components.td,{children:`An integer value.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#datatypeuint8`,children:_jsx(_components.code,{children:`DataType::UInt8`})})}),_jsx(_components.td,{children:`An integer value.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#datatypeuint16`,children:_jsx(_components.code,{children:`DataType::UInt16`})})}),_jsx(_components.td,{children:`An integer value.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#datatypeuint32`,children:_jsx(_components.code,{children:`DataType::UInt32`})})}),_jsx(_components.td,{children:`An integer value.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#datatypeuint64`,children:_jsx(_components.code,{children:`DataType::UInt64`})})}),_jsx(_components.td,{children:`An integer value.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#datatypelist`,children:_jsx(_components.code,{children:`DataType::List`})})}),_jsx(_components.td,{children:`A list of values, all having the same data type.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#datatypemap`,children:_jsx(_components.code,{children:`DataType::Map`})})}),_jsx(_components.td,{children:`A map of key-value pairs, represented as a list of entries (structs with key and value fields).`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#datatypenull`,children:_jsx(_components.code,{children:`DataType::Null`})})}),_jsx(_components.td,{children:`A type representing the absence of a value (null).`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#datatypeoption`,children:_jsx(_components.code,{children:`DataType::Option`})})}),_jsx(_components.td,{children:`A type representing an optional (nullable) value of another data type.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#datatypestruct`,children:_jsx(_components.code,{children:`DataType::Struct`})})}),_jsx(_components.td,{children:`A collection of named fields, each with its own data type.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#datatypetime`,children:_jsx(_components.code,{children:`DataType::Time`})})}),_jsx(_components.td,{children:`A time of day value, without a date, with a specified unit of granularity.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#datatypetimestamp`,children:_jsx(_components.code,{children:`DataType::Timestamp`})})}),_jsx(_components.td,{children:`A point in time, represented as an offset from the Unix epoch in a specific timezone.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#datatypestring`,children:_jsx(_components.code,{children:`DataType::String`})})}),_jsx(_components.td,{children:`A Unicode string.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/data/v1alpha1/DataType.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`datatypebinary`,children:_jsx(_components.code,{children:`DataType::Binary`})}),`\n`,_jsx(_components.p,{children:`A sequence of bytes. Used for arbitrary binary data.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`fixedLength`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsx(_components.td,{children:`Number of bytes per value for fixed-size binary. If omitted, the binary is variable-length.`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/data/v1alpha1/DataType.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`datatypebool`,children:_jsx(_components.code,{children:`DataType::Bool`})}),`\n`,_jsx(_components.p,{children:`A boolean value representing true or false.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/data/v1alpha1/DataType.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`datatypedate`,children:_jsx(_components.code,{children:`DataType::Date`})}),`\n`,_jsx(_components.p,{children:`A calendar date.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/data/v1alpha1/DataType.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`datatypedecimal`,children:_jsx(_components.code,{children:`DataType::Decimal`})}),`\n`,_jsx(_components.p,{children:`A fixed-point decimal number with a specified precision and scale.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`precision`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint32`})}),_jsx(_components.td,{children:`Total number of decimal digits that can be stored.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`scale`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`int32`})}),_jsxs(_components.td,{children:[`Number of digits after the decimal point. In certain situations, scale could be negative number. For negative scale, it is the number of padding 0 to the right of the digits.`,_jsx(`br`,{}),_jsx(`br`,{}),`For example the number 12300 could be treated as a decimal has precision 3 and scale -2.`]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/data/v1alpha1/DataType.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`datatypeduration`,children:_jsx(_components.code,{children:`DataType::Duration`})}),`\n`,_jsx(_components.p,{children:`An elapsed time interval with a specified time unit.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`unit`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#timeunit`,children:_jsx(_components.code,{children:`TimeUnit`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`The unit of the duration measurement.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Millisecond`})]})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/data/v1alpha1/DataType.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`datatypefloat16`,children:_jsx(_components.code,{children:`DataType::Float16`})}),`\n`,_jsx(_components.p,{children:`A floating-point number.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/data/v1alpha1/DataType.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`datatypefloat32`,children:_jsx(_components.code,{children:`DataType::Float32`})}),`\n`,_jsx(_components.p,{children:`A floating-point number.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/data/v1alpha1/DataType.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`datatypefloat64`,children:_jsx(_components.code,{children:`DataType::Float64`})}),`\n`,_jsx(_components.p,{children:`A floating-point number.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/data/v1alpha1/DataType.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`datatypeint8`,children:_jsx(_components.code,{children:`DataType::Int8`})}),`\n`,_jsx(_components.p,{children:`An integer value.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/data/v1alpha1/DataType.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`datatypeint16`,children:_jsx(_components.code,{children:`DataType::Int16`})}),`\n`,_jsx(_components.p,{children:`An integer value.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/data/v1alpha1/DataType.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`datatypeint32`,children:_jsx(_components.code,{children:`DataType::Int32`})}),`\n`,_jsx(_components.p,{children:`An integer value.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/data/v1alpha1/DataType.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`datatypeint64`,children:_jsx(_components.code,{children:`DataType::Int64`})}),`\n`,_jsx(_components.p,{children:`An integer value.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/data/v1alpha1/DataType.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`datatypeuint8`,children:_jsx(_components.code,{children:`DataType::UInt8`})}),`\n`,_jsx(_components.p,{children:`An integer value.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/data/v1alpha1/DataType.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`datatypeuint16`,children:_jsx(_components.code,{children:`DataType::UInt16`})}),`\n`,_jsx(_components.p,{children:`An integer value.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/data/v1alpha1/DataType.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`datatypeuint32`,children:_jsx(_components.code,{children:`DataType::UInt32`})}),`\n`,_jsx(_components.p,{children:`An integer value.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/data/v1alpha1/DataType.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`datatypeuint64`,children:_jsx(_components.code,{children:`DataType::UInt64`})}),`\n`,_jsx(_components.p,{children:`An integer value.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/data/v1alpha1/DataType.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`datatypelist`,children:_jsx(_components.code,{children:`DataType::List`})}),`\n`,_jsx(_components.p,{children:`A list of values, all having the same data type.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`itemType`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#datatype`,children:_jsx(_components.code,{children:`DataType`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Data type of list items.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`fixedLength`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsx(_components.td,{children:`Number of list items per value for fixed-size lists. If omitted, the list is variable-length.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/data/v1alpha1/DataType.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`datatypemap`,children:_jsx(_components.code,{children:`DataType::Map`})}),`\n`,_jsx(_components.p,{children:`A map of key-value pairs, represented as a list of entries (structs with key and value fields).`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`keyType`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#datatype`,children:_jsx(_components.code,{children:`DataType`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Data type of the map’s keys.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`valueType`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#datatype`,children:_jsx(_components.code,{children:`DataType`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Data type of the map’s values.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`keysSorted`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`boolean`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Set to true if the keys within each value are sorted.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/data/v1alpha1/DataType.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`datatypenull`,children:_jsx(_components.code,{children:`DataType::Null`})}),`\n`,_jsx(_components.p,{children:`A type representing the absence of a value (null).`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/data/v1alpha1/DataType.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`datatypeoption`,children:_jsx(_components.code,{children:`DataType::Option`})}),`\n`,_jsx(_components.p,{children:`A type representing an optional (nullable) value of another data type.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`inner`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#datatype`,children:_jsx(_components.code,{children:`DataType`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Inner data type for the optional value.`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/data/v1alpha1/DataType.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`datatypestruct`,children:_jsx(_components.code,{children:`DataType::Struct`})}),`\n`,_jsx(_components.p,{children:`A collection of named fields, each with its own data type.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`fields`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#datafield`,children:_jsx(_components.code,{children:`DataField`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Fields that make up the struct.`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/data/v1alpha1/DataType.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`datatypetime`,children:_jsx(_components.code,{children:`DataType::Time`})}),`\n`,_jsx(_components.p,{children:`A time of day value, without a date, with a specified unit of granularity.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`unit`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#timeunit`,children:_jsx(_components.code,{children:`TimeUnit`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`The unit of the time value.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Millisecond`})]})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/data/v1alpha1/DataType.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`datatypetimestamp`,children:_jsx(_components.code,{children:`DataType::Timestamp`})}),`\n`,_jsx(_components.p,{children:`A point in time, represented as an offset from the Unix epoch in a specific timezone.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`unit`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#timeunit`,children:_jsx(_components.code,{children:`TimeUnit`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`The unit of the timestamp value that determines its precision.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Millisecond`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`timezone`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`The timezone is an optional string indicating the name of a timezone`,_jsx(`br`,{}),`one of`,_jsx(`br`,{}),_jsx(`br`,{}),`* As used in the Olson timezone database (the “tz database” or`,_jsx(`br`,{}),` “tzdata”), such as “America/New_York”.`,_jsx(`br`,{}),`* An absolute timezone offset of the form “+XX:XX” or “-XX:XX”,`,_jsx(`br`,{}),` such as “+07:30”.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`UTC`})]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/data/v1alpha1/DataType.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`datatypestring`,children:_jsx(_components.code,{children:`DataType::String`})}),`\n`,_jsx(_components.p,{children:`A Unicode string.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/data/v1alpha1/DataType.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`extraattributes`,children:_jsx(_components.code,{children:`ExtraAttributes`})}),`\n`,_jsxs(_components.p,{children:[`Container for custom key-value extension attributes. Every key must be in the form of `,_jsx(_components.code,{children:`\u003cdomain>/\u003cpath>`}),` (e.g. `,_jsx(_components.code,{children:`kamu.dev/archetype`}),`) in order to fully disambiguate the value in the face of multiple extensions. Values may be any valid JSON including nested objects.`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.em,{children:`Map of string keys to arbitrary values.`})}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/data/v1alpha1/ExtraAttributes.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`operationtype`,children:_jsx(_components.code,{children:`OperationType`})}),`\n`,_jsx(_components.p,{children:`Defines an operation in a changelog stream.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsx(_components.tr,{children:_jsx(_components.th,{style:{textAlign:`center`},children:`Enum Value`})})}),_jsxs(_components.tbody,{children:[_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`Append`})})}),_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`Retract`})})}),_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`CorrectFrom`})})}),_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`CorrectTo`})})})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/data/v1alpha1/OperationType.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`timeunit`,children:_jsx(_components.code,{children:`TimeUnit`})}),`\n`,_jsx(_components.p,{children:`Defines the unit of measurement of time`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsx(_components.tr,{children:_jsx(_components.th,{style:{textAlign:`center`},children:`Enum Value`})})}),_jsxs(_components.tbody,{children:[_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`Second`})})}),_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`Millisecond`})})}),_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`Microsecond`})})}),_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`Nanosecond`})})})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/data/v1alpha1/TimeUnit.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`2`,id:`datasets`,children:`Datasets`}),`\n`,_jsx(Heading,{level:`3`,id:`adddata`,children:_jsx(_components.code,{children:`AddData`})}),`\n`,_jsx(_components.p,{children:`Indicates that data has been ingested into a root dataset.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prevCheckpoint`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.a,{href:`https://github.com/multiformats/multihash`,children:_jsx(_components.code,{children:`multihash`})})}),_jsx(_components.td,{children:`Hash of the checkpoint file used to restore ingestion state, if any.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prevOffset`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsxs(_components.td,{children:[`Last offset of the previous data slice, if any. Must be equal to the last non-empty `,_jsx(_components.code,{children:`newData.offsetInterval.end`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`newData`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#dataslice`,children:_jsx(_components.code,{children:`DataSlice`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Describes output data written during this transaction, if any.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`newCheckpoint`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#checkpoint`,children:_jsx(_components.code,{children:`Checkpoint`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Describes checkpoint written during this transaction, if any. If an engine operation resulted in no updates to the checkpoint, but checkpoint is still relevant for subsequent runs - a hash of the previous checkpoint should be specified.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`newWatermark`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.a,{href:`https://json-schema.org/draft/2019-09/json-schema-validation.html#rfc.section.7.3.1`,children:_jsx(_components.code,{children:`date-time`})})}),_jsx(_components.td,{children:`Last watermark of the output data stream, if any. Initial blocks may not have watermarks, but once watermark is set - all subsequent blocks should either carry the same watermark or specify a new (greater) one. Thus, watermarks are monotonically non-decreasing.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`newSourceState`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#sourcestate`,children:_jsx(_components.code,{children:`SourceState`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`The state of the source the data was added from to allow fast resuming. If the state did not change but is still relevant for subsequent runs it should be carried, i.e. only the last state per source is considered when resuming.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`extra`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#extraattributes`,children:_jsx(_components.code,{children:`ExtraAttributes`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`ODF extensions.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/AddData.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`allowanonymousread`,children:_jsx(_components.code,{children:`AllowAnonymousRead`})}),`\n`,_jsx(_components.p,{children:`Controls whether the dataset is readable by users who did not authenticate. Materialized into the auth engine by the Dataset controller.`}),`\n`,_jsx(_components.p,{children:_jsxs(_components.em,{children:[`Type: `,_jsx(_components.code,{children:`boolean`})]})}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/AllowAnonymousRead.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`allowpublicread`,children:_jsx(_components.code,{children:`AllowPublicRead`})}),`\n`,_jsx(_components.p,{children:`Controls whether the dataset is readable by any authenticated principal. Materialized into the auth engine by the Dataset controller.`}),`\n`,_jsx(_components.p,{children:_jsxs(_components.em,{children:[`Type: `,_jsx(_components.code,{children:`boolean`})]})}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/AllowPublicRead.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`attachmentembedded`,children:_jsx(_components.code,{children:`AttachmentEmbedded`})}),`\n`,_jsx(_components.p,{children:`Embedded attachment item.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`path`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Path to an attachment if it was materialized into a file.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`content`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Content of the attachment.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/AttachmentEmbedded.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`attachments`,children:_jsx(_components.code,{children:`Attachments`})}),`\n`,_jsx(_components.p,{children:`Defines the source of attachment files.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Union Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#attachmentsembedded`,children:_jsx(_components.code,{children:`Attachments::Embedded`})})}),_jsx(_components.td,{children:`For attachments that are specified inline and are embedded in the metadata.`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/Attachments.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`attachmentsembedded`,children:_jsx(_components.code,{children:`Attachments::Embedded`})}),`\n`,_jsx(_components.p,{children:`For attachments that are specified inline and are embedded in the metadata.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`items`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#attachmentembedded`,children:_jsx(_components.code,{children:`AttachmentEmbedded`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`List of embedded items.`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/Attachments.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`checkpoint`,children:_jsx(_components.code,{children:`Checkpoint`})}),`\n`,_jsx(_components.p,{children:`Describes a checkpoint produced by an engine`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`physicalHash`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.a,{href:`https://github.com/multiformats/multihash`,children:_jsx(_components.code,{children:`multihash`})})}),_jsx(_components.td,{children:`Hash sum of the checkpoint file.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`size`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsx(_components.td,{children:`Size of checkpoint file in bytes.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/Checkpoint.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`dataslice`,children:_jsx(_components.code,{children:`DataSlice`})}),`\n`,_jsx(_components.p,{children:`Describes a slice of data added to a dataset or produced via transformation`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`logicalHash`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.a,{href:`https://github.com/multiformats/multihash`,children:_jsx(_components.code,{children:`multihash`})})}),_jsx(_components.td,{children:`Logical hash sum of the data in this slice.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`physicalHash`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.a,{href:`https://github.com/multiformats/multihash`,children:_jsx(_components.code,{children:`multihash`})})}),_jsx(_components.td,{children:`Hash sum of the data part file.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`offsetInterval`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#offsetinterval`,children:_jsx(_components.code,{children:`OffsetInterval`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Data slice produced by the transaction.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`size`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsx(_components.td,{children:`Size of data file in bytes.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/DataSlice.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`dataset`,children:_jsx(_components.code,{children:`Dataset`})}),`\n`,_jsx(_components.p,{children:`Represents a desired state of a dataset.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`$schema`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`type-uri`})}),_jsx(_components.td,{children:`Identifies this resource type.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`headers`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceheadersinput`,children:_jsx(_components.code,{children:`ResourceHeadersInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Container for identity and ownership information of a resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`spec`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#datasetspecinput`,children:_jsx(_components.code,{children:`DatasetSpecInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Specifies the desired state of the resource.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/Dataset.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`datasethandle`,children:_jsx(_components.code,{children:`DatasetHandle`})}),`\n`,_jsx(_components.p,{children:`Link to a dataset.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`account`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceownerhandle`,children:_jsx(_components.code,{children:`ResourceOwnerHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to an account that owns the dataset.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`id`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`resource-id`})}),_jsx(_components.td,{children:`ID of the dataset resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`did`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`dataset-id`})}),_jsx(_components.td,{children:`DID of the dataset.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`resource-name`})}),_jsx(_components.td,{children:`Name of the dataset.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/DatasetHandle.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`datasetkind`,children:_jsx(_components.code,{children:`DatasetKind`})}),`\n`,_jsx(_components.p,{children:`Represents type of the dataset.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsx(_components.tr,{children:_jsx(_components.th,{style:{textAlign:`center`},children:`Enum Value`})})}),_jsxs(_components.tbody,{children:[_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`Root`})})}),_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`Derivative`})})})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/DatasetKind.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`datasetref`,children:_jsx(_components.code,{children:`DatasetRef`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`account`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceownerref`,children:_jsx(_components.code,{children:`ResourceOwnerRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to an account that owns the dataset.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`id`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`resource-id`})}),_jsx(_components.td,{children:`UUID of the dataset resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`did`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`dataset-id`})}),_jsx(_components.td,{children:`DID of the dataset.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`resource-name`})}),_jsx(_components.td,{children:`Name of the dataset.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/DatasetRef.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`datasetselector`,children:_jsx(_components.code,{children:`DatasetSelector`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`account`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceownerref`,children:_jsx(_components.code,{children:`ResourceOwnerRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to an account that owns the target resources.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`id`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`resource-id`})}),_jsx(_components.td,{children:`ID of the singular resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Name pattern in SQL `,_jsx(_components.code,{children:`LIKE`}),` format.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`labels`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#labelfilter`,children:_jsx(_components.code,{children:`LabelFilter`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Filter by resource labels.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`kind`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#datasetkind`,children:_jsx(_components.code,{children:`DatasetKind`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Restricts the selector to datasets of a specific kind.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/DatasetSelector.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`datasetspec`,children:_jsx(_components.code,{children:`DatasetSpec`})}),`\n`,_jsx(_components.p,{children:`Represents a desired state of the dataset metadata.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`did`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`dataset-id`})}),_jsx(_components.td,{children:`DID of the dataset in global ODF network`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`kind`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#datasetkind`,children:_jsx(_components.code,{children:`DatasetKind`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Type of the dataset.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`metadata`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#metadataevent`,children:_jsx(_components.code,{children:`MetadataEvent`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`An array of metadata events that will be used to populate the chain, e.g. to set info, licenses, and attachments. As the dataset evolves, it maintains a snapshot of the key events that describe the dataset in its latest state, excluding intermediate transitions (e.g. previous schema changes) and events related to ingestions and transformations.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`volume`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourcehandle`,children:_jsx(_components.code,{children:`ResourceHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to a storage volume where dataset data will be stored. If omitted, the node’s default storage is used.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/DatasetSpec.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`datasetspecinput`,children:_jsx(_components.code,{children:`DatasetSpecInput`})}),`\n`,_jsx(_components.p,{children:`Represents a desired state of the dataset metadata.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`did`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`dataset-id`})}),_jsx(_components.td,{children:`DID of the dataset in global ODF network`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`kind`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#datasetkind`,children:_jsx(_components.code,{children:`DatasetKind`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Type of the dataset.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`metadata`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#metadataevent`,children:_jsx(_components.code,{children:`MetadataEvent`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`An array of metadata events that will be used to populate the chain, e.g. to set info, licenses, and attachments. As the dataset evolves, it maintains a snapshot of the key events that describe the dataset in its latest state, excluding intermediate transitions (e.g. previous schema changes) and events related to ingestions and transformations.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`volume`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#persistentvolumeref`,children:_jsx(_components.code,{children:`PersistentVolumeRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to a storage volume where dataset data will be stored. If omitted, the node’s default storage is used.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/DatasetSpecInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`datasetvocabulary`,children:_jsx(_components.code,{children:`DatasetVocabulary`})}),`\n`,_jsx(_components.p,{children:`Specifies the mapping of system columns onto dataset schema.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`offsetColumn`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Name of the offset column.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`offset`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`operationTypeColumn`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Name of the operation type column.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`op`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`systemTimeColumn`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Name of the system time column.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`system_time`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`eventTimeColumn`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Name of the event time column.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`event_time`})]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/DatasetVocabulary.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`executetransform`,children:_jsx(_components.code,{children:`ExecuteTransform`})}),`\n`,_jsx(_components.p,{children:`Indicates that derivative transformation has been performed.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`queryInputs`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#executetransforminput`,children:_jsx(_components.code,{children:`ExecuteTransformInput`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Defines inputs used in this transaction. Slices corresponding to every input dataset must be present.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prevCheckpoint`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.a,{href:`https://github.com/multiformats/multihash`,children:_jsx(_components.code,{children:`multihash`})})}),_jsx(_components.td,{children:`Hash of the checkpoint file used to restore transformation state, if any.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prevOffset`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsxs(_components.td,{children:[`Last offset of the previous data slice, if any. Must be equal to the last non-empty `,_jsx(_components.code,{children:`newData.offsetInterval.end`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`newData`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#dataslice`,children:_jsx(_components.code,{children:`DataSlice`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Describes output data written during this transaction, if any.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`newCheckpoint`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#checkpoint`,children:_jsx(_components.code,{children:`Checkpoint`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Describes checkpoint written during this transaction, if any. If an engine operation resulted in no updates to the checkpoint, but checkpoint is still relevant for subsequent runs - a hash of the previous checkpoint should be specified.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`newWatermark`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.a,{href:`https://json-schema.org/draft/2019-09/json-schema-validation.html#rfc.section.7.3.1`,children:_jsx(_components.code,{children:`date-time`})})}),_jsx(_components.td,{children:`Last watermark of the output data stream, if any. Initial blocks may not have watermarks, but once watermark is set - all subsequent blocks should either carry the same watermark or specify a new (greater) one. Thus, watermarks are monotonically non-decreasing.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/ExecuteTransform.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`executetransforminput`,children:_jsx(_components.code,{children:`ExecuteTransformInput`})}),`\n`,_jsx(_components.p,{children:`Describes a slice of the input dataset used during a transformation`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`datasetId`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`dataset-id`})}),_jsx(_components.td,{children:`Input dataset identifier.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prevBlockHash`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.a,{href:`https://github.com/multiformats/multihash`,children:_jsx(_components.code,{children:`multihash`})})}),_jsxs(_components.td,{children:[`Last block of the input dataset that was previously incorporated into the derivative transformation, if any. Must be equal to the last non-empty `,_jsx(_components.code,{children:`newBlockHash`}),`. Together with `,_jsx(_components.code,{children:`newBlockHash`}),` defines a half-open `,_jsx(_components.code,{children:`(prevBlockHash, newBlockHash]`}),` interval of blocks that will be considered in this transaction.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`newBlockHash`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.a,{href:`https://github.com/multiformats/multihash`,children:_jsx(_components.code,{children:`multihash`})})}),_jsxs(_components.td,{children:[`Hash of the last block that will be incorporated into the derivative transformation. When present, defines a half-open `,_jsx(_components.code,{children:`(prevBlockHash, newBlockHash]`}),` interval of blocks that will be considered in this transaction.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prevOffset`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsxs(_components.td,{children:[`Last data record offset in the input dataset that was previously incorporated into the derivative transformation, if any. Must be equal to the last non-empty `,_jsx(_components.code,{children:`newOffset`}),`. Together with `,_jsx(_components.code,{children:`newOffset`}),` defines a half-open `,_jsx(_components.code,{children:`(prevOffset, newOffset]`}),` interval of data records that will be considered in this transaction.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`newOffset`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsxs(_components.td,{children:[`Offset of the last data record that will be incorporated into the derivative transformation, if any. When present, defines a half-open `,_jsx(_components.code,{children:`(prevOffset, newOffset]`}),` interval of data records that will be considered in this transaction.`]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/ExecuteTransformInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`metadatablock`,children:_jsx(_components.code,{children:`MetadataBlock`})}),`\n`,_jsx(_components.p,{children:`An individual block in the metadata chain that captures the history of modifications of a dataset.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`systemTime`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.a,{href:`https://json-schema.org/draft/2019-09/json-schema-validation.html#rfc.section.7.3.1`,children:_jsx(_components.code,{children:`date-time`})})}),_jsx(_components.td,{children:`System time when this block was written.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prevBlockHash`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.a,{href:`https://github.com/multiformats/multihash`,children:_jsx(_components.code,{children:`multihash`})})}),_jsx(_components.td,{children:`Hash sum of the preceding block.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`sequenceNumber`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsx(_components.td,{children:`Block sequence number, starting from zero at the seed block.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`event`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#metadataevent`,children:_jsx(_components.code,{children:`MetadataEvent`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Event data.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/MetadataBlock.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`metadataevent`,children:_jsx(_components.code,{children:`MetadataEvent`})}),`\n`,_jsx(_components.p,{children:`Represents a transaction that occurred on a dataset.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Union Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#adddata`,children:_jsx(_components.code,{children:`AddData`})})}),_jsx(_components.td,{children:`Indicates that data has been ingested into a root dataset.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#executetransform`,children:_jsx(_components.code,{children:`ExecuteTransform`})})}),_jsx(_components.td,{children:`Indicates that derivative transformation has been performed.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#seed`,children:_jsx(_components.code,{children:`Seed`})})}),_jsx(_components.td,{children:`Establishes the identity of the dataset. Always the first metadata event in the chain.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#setpollingsource`,children:_jsx(_components.code,{children:`SetPollingSource`})})}),_jsx(_components.td,{})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#settransform`,children:_jsx(_components.code,{children:`SetTransform`})})}),_jsx(_components.td,{children:`Defines a transformation that produces data in a derivative dataset.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#setvocab`,children:_jsx(_components.code,{children:`SetVocab`})})}),_jsx(_components.td,{children:`Lets you manipulate names of the system columns to avoid conflicts.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#setattachments`,children:_jsx(_components.code,{children:`SetAttachments`})})}),_jsx(_components.td,{children:`Associates a set of files with this dataset.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#setinfo`,children:_jsx(_components.code,{children:`SetInfo`})})}),_jsx(_components.td,{children:`Provides basic human-readable information about a dataset.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#setlicense`,children:_jsx(_components.code,{children:`SetLicense`})})}),_jsx(_components.td,{children:`Defines a license that applies to this dataset.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#setdataschema`,children:_jsx(_components.code,{children:`SetDataSchema`})})}),_jsx(_components.td,{children:`Specifies the complete schema of Data Slices added to the Dataset following this event.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#addpushsource`,children:_jsx(_components.code,{children:`AddPushSource`})})}),_jsx(_components.td,{})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#disablepushsource`,children:_jsx(_components.code,{children:`DisablePushSource`})})}),_jsx(_components.td,{})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#disablepollingsource`,children:_jsx(_components.code,{children:`DisablePollingSource`})})}),_jsx(_components.td,{})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/MetadataEvent.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`offsetinterval`,children:_jsx(_components.code,{children:`OffsetInterval`})}),`\n`,_jsx(_components.p,{children:`Describes a range of data as a closed arithmetic interval of offsets`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`start`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsx(_components.td,{children:`Start of the closed interval [start; end].`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`end`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsx(_components.td,{children:`End of the closed interval [start; end].`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/OffsetInterval.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`projection`,children:_jsx(_components.code,{children:`Projection`})}),`\n`,_jsx(_components.p,{children:`Represents a projection of a dataaset history into a state for fast lookups.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`$schema`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`type-uri`})}),_jsx(_components.td,{children:`Identifies this resource type.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`headers`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceheadersinput`,children:_jsx(_components.code,{children:`ResourceHeadersInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Container for identity and ownership information of a resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`spec`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#projectionspecinput`,children:_jsx(_components.code,{children:`ProjectionSpecInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Specifies the desired state of the resource.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/Projection.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`projectionspec`,children:_jsx(_components.code,{children:`ProjectionSpec`})}),`\n`,_jsx(_components.p,{children:`Represents a projection of a dataaset history into a state for fast lookups.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`inputs`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#transforminput`,children:_jsx(_components.code,{children:`TransformInput`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Datasets that will be used as sources.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`project`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#transform`,children:_jsx(_components.code,{children:`Transform`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Transformation that will be applied to produce new data.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/ProjectionSpec.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`projectionspecinput`,children:_jsx(_components.code,{children:`ProjectionSpecInput`})}),`\n`,_jsx(_components.p,{children:`Represents a projection of a dataaset history into a state for fast lookups.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`inputs`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#transforminput`,children:_jsx(_components.code,{children:`TransformInput`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Datasets that will be used as sources.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`project`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#transform`,children:_jsx(_components.code,{children:`Transform`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Transformation that will be applied to produce new data.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/ProjectionSpecInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`seed`,children:_jsx(_components.code,{children:`Seed`})}),`\n`,_jsx(_components.p,{children:`Establishes the identity of the dataset. Always the first metadata event in the chain.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`datasetId`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`dataset-id`})}),_jsx(_components.td,{children:`Unique identity of the dataset.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`datasetKind`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#datasetkind`,children:_jsx(_components.code,{children:`DatasetKind`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Type of the dataset.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/Seed.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`setattachments`,children:_jsx(_components.code,{children:`SetAttachments`})}),`\n`,_jsx(_components.p,{children:`Associates a set of files with this dataset.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`attachments`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#attachments`,children:_jsx(_components.code,{children:`Attachments`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`One of the supported attachment sources.`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/SetAttachments.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`setdataschema`,children:_jsx(_components.code,{children:`SetDataSchema`})}),`\n`,_jsx(_components.p,{children:`Specifies the complete schema of Data Slices added to the Dataset following this event.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`rawArrowSchema`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.a,{href:`https://flatbuffers.dev/`,children:_jsx(_components.code,{children:`flatbuffers`})})}),_jsx(_components.td,{children:`DEPRECATED: Apache Arrow schema encoded in its native flatbuffers representation.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`schema`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#dataschema`,children:_jsx(_components.code,{children:`DataSchema`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Defines the logical schema of the data files that follow this event. Will become a required field after migration.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/SetDataSchema.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`setinfo`,children:_jsx(_components.code,{children:`SetInfo`})}),`\n`,_jsx(_components.p,{children:`Provides basic human-readable information about a dataset.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`description`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Brief single-sentence summary of a dataset.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`keywords`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`array(string)`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Keywords, search terms, or tags used to describe the dataset.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/SetInfo.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`setlicense`,children:_jsx(_components.code,{children:`SetLicense`})}),`\n`,_jsx(_components.p,{children:`Defines a license that applies to this dataset.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`shortName`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Abbreviated name of the license.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Full name of the license.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`spdxId`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`License identifier from the SPDX License List.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`websiteUrl`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uri`})}),_jsx(_components.td,{children:`URL where licensing terms can be found.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/SetLicense.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`settransform`,children:_jsx(_components.code,{children:`SetTransform`})}),`\n`,_jsx(_components.p,{children:`Defines a transformation that produces data in a derivative dataset.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`inputs`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#transforminput`,children:_jsx(_components.code,{children:`TransformInput`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Datasets that will be used as sources.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`transform`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#transform`,children:_jsx(_components.code,{children:`Transform`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Transformation that will be applied to produce new data.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/SetTransform.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`setvocab`,children:_jsx(_components.code,{children:`SetVocab`})}),`\n`,_jsx(_components.p,{children:`Lets you manipulate names of the system columns to avoid conflicts.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`offsetColumn`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Name of the offset column.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`operationTypeColumn`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Name of the operation type column.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`systemTimeColumn`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Name of the system time column.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`eventTimeColumn`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Name of the event time column.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/SetVocab.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`sqlquerystep`,children:_jsx(_components.code,{children:`SqlQueryStep`})}),`\n`,_jsx(_components.p,{children:`Defines a query in a multi-step SQL transformation.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`alias`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Name of the temporary view that will be created from result of the query. Step without this alias will be treated as an output of the transformation.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`query`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`SQL query the result of which will be exposed under the alias.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/SqlQueryStep.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`temporaltable`,children:_jsx(_components.code,{children:`TemporalTable`})}),`\n`,_jsx(_components.p,{children:`Temporary Flink-specific extension for creating temporal tables from streams.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Name of the dataset to be converted into a temporal table.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`primaryKey`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`array(string)`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Column names used as the primary key for creating a table.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/TemporalTable.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`transform`,children:_jsx(_components.code,{children:`Transform`})}),`\n`,_jsx(_components.p,{children:`Engine-specific processing queries that shape the resulting data.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Union Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#transformsql`,children:_jsx(_components.code,{children:`Transform::Sql`})})}),_jsx(_components.td,{children:`Transform using one of the SQL dialects.`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/Transform.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`transformsql`,children:_jsx(_components.code,{children:`Transform::Sql`})}),`\n`,_jsx(_components.p,{children:`Transform using one of the SQL dialects.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`engine`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Identifier of the engine used for this transformation.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`version`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Version of the engine to use.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`query`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`SQL query the result of which will be used as an output. This is a convenience property meant only for defining queries by hand. When stored in the metadata this property will never be set and instead will be converted into a single-iter `,_jsx(_components.code,{children:`queries`}),` array.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`queries`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#sqlquerystep`,children:_jsx(_components.code,{children:`SqlQueryStep`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Specifies multi-step SQL transformations. Each step acts as a shorthand for `,_jsx(_components.code,{children:`CREATE TEMPORARY VIEW \u003calias> AS (\u003cquery>)`}),`. Last query in the array should have no alias and will be treated as an output.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`temporalTables`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#temporaltable`,children:_jsx(_components.code,{children:`TemporalTable`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Temporary Flink-specific extension for creating temporal tables from streams.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/Transform.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`transforminput`,children:_jsx(_components.code,{children:`TransformInput`})}),`\n`,_jsx(_components.p,{children:`Describes a derivative transformation input`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`datasetRef`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`dataset-ref`})}),_jsx(_components.td,{children:`A local or remote dataset reference. When block is accepted this MUST be in the form of a DatasetId to guarantee reproducibility, as aliases can change over time.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`alias`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`An alias under which this input will be available in queries. Will be populated from `,_jsx(_components.code,{children:`datasetRef`}),` if not provided before resolving it to DatasetId.`]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/TransformInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`watermark`,children:_jsx(_components.code,{children:`Watermark`})}),`\n`,_jsx(_components.p,{children:`Represents a watermark in the event stream.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`systemTime`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.a,{href:`https://json-schema.org/draft/2019-09/json-schema-validation.html#rfc.section.7.3.1`,children:_jsx(_components.code,{children:`date-time`})})}),_jsx(_components.td,{children:`Moment in processing time when watermark was emitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`eventTime`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.a,{href:`https://json-schema.org/draft/2019-09/json-schema-validation.html#rfc.section.7.3.1`,children:_jsx(_components.code,{children:`date-time`})})}),_jsx(_components.td,{children:`Moment in event time which watermark has reached.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/Watermark.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`alterhistory`,children:_jsx(_components.code,{children:`AlterHistory`})}),`\n`,_jsx(_components.p,{children:`Rewrite or truncate dataset history.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/actions/AlterHistory.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`read`,children:_jsx(_components.code,{children:`Read`})}),`\n`,_jsx(_components.p,{children:`Read dataset data (query, download).`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/actions/Read.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`write`,children:_jsx(_components.code,{children:`Write`})}),`\n`,_jsx(_components.p,{children:`Append new data to the dataset.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/datasets/v1alpha1/actions/Write.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`2`,id:`engines`,children:`Engines`}),`\n`,_jsx(Heading,{level:`3`,id:`rawqueryrequest`,children:_jsx(_components.code,{children:`RawQueryRequest`})}),`\n`,_jsx(_components.p,{children:`Sent by the coordinator to an engine to perform query on raw input data, usually as part of ingest preprocessing step`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`inputDataPaths`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`array(string)`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Paths to input data files to perform query over. Must all have identical schema.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`transform`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#transform`,children:_jsx(_components.code,{children:`Transform`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Transformation that will be applied to produce new data.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`outputDataPath`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`path`})}),_jsx(_components.td,{children:`Path where query result will be written.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/engines/v1alpha1/RawQueryRequest.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`rawqueryresponse`,children:_jsx(_components.code,{children:`RawQueryResponse`})}),`\n`,_jsx(_components.p,{children:`Sent by an engine to coordinator when performing the raw query operation`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Union Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#rawqueryresponseprogress`,children:_jsx(_components.code,{children:`RawQueryResponse::Progress`})})}),_jsx(_components.td,{children:`Reports query progress`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#rawqueryresponsesuccess`,children:_jsx(_components.code,{children:`RawQueryResponse::Success`})})}),_jsx(_components.td,{children:`Query executed successfully`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#rawqueryresponseinvalidquery`,children:_jsx(_components.code,{children:`RawQueryResponse::InvalidQuery`})})}),_jsx(_components.td,{children:`Query did not pass validation`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#rawqueryresponseinternalerror`,children:_jsx(_components.code,{children:`RawQueryResponse::InternalError`})})}),_jsx(_components.td,{children:`Internal error during query execution`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/engines/v1alpha1/RawQueryResponse.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`rawqueryresponseprogress`,children:_jsx(_components.code,{children:`RawQueryResponse::Progress`})}),`\n`,_jsx(_components.p,{children:`Reports query progress`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/engines/v1alpha1/RawQueryResponse.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`rawqueryresponsesuccess`,children:_jsx(_components.code,{children:`RawQueryResponse::Success`})}),`\n`,_jsx(_components.p,{children:`Query executed successfully`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`numRecords`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsx(_components.td,{children:`Number of records produced by the query`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/engines/v1alpha1/RawQueryResponse.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`rawqueryresponseinvalidquery`,children:_jsx(_components.code,{children:`RawQueryResponse::InvalidQuery`})}),`\n`,_jsx(_components.p,{children:`Query did not pass validation`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`message`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Explanation of an error`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/engines/v1alpha1/RawQueryResponse.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`rawqueryresponseinternalerror`,children:_jsx(_components.code,{children:`RawQueryResponse::InternalError`})}),`\n`,_jsx(_components.p,{children:`Internal error during query execution`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`message`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Brief description of an error`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`backtrace`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Details of an error (e.g. a backtrace)`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/engines/v1alpha1/RawQueryResponse.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`transformrequest`,children:_jsx(_components.code,{children:`TransformRequest`})}),`\n`,_jsx(_components.p,{children:`Sent by the coordinator to an engine to perform the next step of data transformation`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`datasetId`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`dataset-id`})}),_jsx(_components.td,{children:`Unique identifier of the output dataset.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`datasetAlias`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`dataset-alias`})}),_jsx(_components.td,{children:`Alias of the output dataset, for logging purposes only.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`systemTime`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.a,{href:`https://json-schema.org/draft/2019-09/json-schema-validation.html#rfc.section.7.3.1`,children:_jsx(_components.code,{children:`date-time`})})}),_jsx(_components.td,{children:`System time to use for new records.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`vocab`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#datasetvocabulary`,children:_jsx(_components.code,{children:`DatasetVocabulary`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Vocabulary of the output dataset.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`transform`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#transform`,children:_jsx(_components.code,{children:`Transform`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Transformation that will be applied to produce new data.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`queryInputs`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#transformrequestinput`,children:_jsx(_components.code,{children:`TransformRequestInput`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Defines inputs used in this transaction. Slices corresponding to every input dataset must be present.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`nextOffset`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsx(_components.td,{children:`Starting offset to use for new data records.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prevCheckpointPath`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`path`})}),_jsx(_components.td,{children:`TODO: This will be removed when coordinator will be speaking to engines purely through Arrow.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`newCheckpointPath`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`path`})}),_jsx(_components.td,{children:`TODO: This will be removed when coordinator will be speaking to engines purely through Arrow.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`newDataPath`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`path`})}),_jsx(_components.td,{children:`TODO: This will be removed when coordinator will be speaking to engines purely through Arrow.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/engines/v1alpha1/TransformRequest.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`transformrequestinput`,children:_jsx(_components.code,{children:`TransformRequestInput`})}),`\n`,_jsx(_components.p,{children:`Sent as part of the engine transform request operation to describe the input`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`datasetId`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`dataset-id`})}),_jsx(_components.td,{children:`Unique identifier of the dataset.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`datasetAlias`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`dataset-alias`})}),_jsx(_components.td,{children:`Alias of the output dataset, for logging purposes only.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`queryAlias`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`An alias of this input to be used in queries.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`vocab`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#datasetvocabulary`,children:_jsx(_components.code,{children:`DatasetVocabulary`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Vocabulary of the input dataset.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`offsetInterval`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#offsetinterval`,children:_jsx(_components.code,{children:`OffsetInterval`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Subset of data that goes into this transaction.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`dataPaths`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`array(string)`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`TODO: This will be removed when coordinator will be slicing data for the engine.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`schemaFile`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`path`})}),_jsx(_components.td,{children:`TODO: replace with actual DDL or Parquet schema.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`explicitWatermarks`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#watermark`,children:_jsx(_components.code,{children:`Watermark`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Watermarks that should be injected into the stream to separate micro batches for reproducibility.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/engines/v1alpha1/TransformRequestInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`transformresponse`,children:_jsx(_components.code,{children:`TransformResponse`})}),`\n`,_jsx(_components.p,{children:`Sent by an engine to coordinator when performing the data transformation`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Union Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#transformresponseprogress`,children:_jsx(_components.code,{children:`TransformResponse::Progress`})})}),_jsx(_components.td,{children:`Reports query progress`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#transformresponsesuccess`,children:_jsx(_components.code,{children:`TransformResponse::Success`})})}),_jsx(_components.td,{children:`Query executed successfully`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#transformresponseinvalidquery`,children:_jsx(_components.code,{children:`TransformResponse::InvalidQuery`})})}),_jsx(_components.td,{children:`Query did not pass validation`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#transformresponseinternalerror`,children:_jsx(_components.code,{children:`TransformResponse::InternalError`})})}),_jsx(_components.td,{children:`Internal error during query execution`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/engines/v1alpha1/TransformResponse.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`transformresponseprogress`,children:_jsx(_components.code,{children:`TransformResponse::Progress`})}),`\n`,_jsx(_components.p,{children:`Reports query progress`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/engines/v1alpha1/TransformResponse.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`transformresponsesuccess`,children:_jsx(_components.code,{children:`TransformResponse::Success`})}),`\n`,_jsx(_components.p,{children:`Query executed successfully`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`newOffsetInterval`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#offsetinterval`,children:_jsx(_components.code,{children:`OffsetInterval`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Data slice produced by the transaction, if any.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`newWatermark`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.a,{href:`https://json-schema.org/draft/2019-09/json-schema-validation.html#rfc.section.7.3.1`,children:_jsx(_components.code,{children:`date-time`})})}),_jsx(_components.td,{children:`Watermark advanced by the transaction, if any.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/engines/v1alpha1/TransformResponse.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`transformresponseinvalidquery`,children:_jsx(_components.code,{children:`TransformResponse::InvalidQuery`})}),`\n`,_jsx(_components.p,{children:`Query did not pass validation`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`message`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Explanation of an error`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/engines/v1alpha1/TransformResponse.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`transformresponseinternalerror`,children:_jsx(_components.code,{children:`TransformResponse::InternalError`})}),`\n`,_jsx(_components.p,{children:`Internal error during query execution`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`message`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Brief description of an error`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`backtrace`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Details of an error (e.g. a backtrace)`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/engines/v1alpha1/TransformResponse.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`2`,id:`events`,children:`Events`}),`\n`,_jsx(Heading,{level:`3`,id:`eventfilter`,children:_jsx(_components.code,{children:`EventFilter`})}),`\n`,_jsx(_components.p,{children:`Filters that work on domain event types and fields.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.em,{children:`Map of string keys to arbitrary values.`})}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/events/v1alpha1/EventFilter.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`2`,id:`flows`,children:`Flows`}),`\n`,_jsx(Heading,{level:`3`,id:`flow`,children:_jsx(_components.code,{children:`Flow`})}),`\n`,_jsx(_components.p,{children:`Defines a sequence of tasks to be executed upon certain trigger conditions.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`$schema`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`type-uri`})}),_jsx(_components.td,{children:`Identifies this resource type.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`headers`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceheadersinput`,children:_jsx(_components.code,{children:`ResourceHeadersInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Container for identity and ownership information of a resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`spec`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#flowspecinput`,children:_jsx(_components.code,{children:`FlowSpecInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Specifies the desired state of the flow.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/flows/v1alpha1/Flow.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`flowrun`,children:_jsx(_components.code,{children:`FlowRun`})}),`\n`,_jsx(_components.p,{children:`Defines a set of tasks to be executed in a sequence.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`$schema`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`type-uri`})}),_jsx(_components.td,{children:`Identifies this resource type.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`headers`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceheadersinput`,children:_jsx(_components.code,{children:`ResourceHeadersInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Container for identity and ownership information of a resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`spec`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#flowrunspecinput`,children:_jsx(_components.code,{children:`FlowRunSpecInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Specifies the desired state of the flow run.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/flows/v1alpha1/FlowRun.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`flowrunactivationcause`,children:_jsx(_components.code,{children:`FlowRunActivationCause`})}),`\n`,_jsx(_components.p,{children:`Cause of the flow run activation`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`activationTime`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.a,{href:`https://json-schema.org/draft/2019-09/json-schema-validation.html#rfc.section.7.3.1`,children:_jsx(_components.code,{children:`date-time`})})}),_jsx(_components.td,{children:`Time at which the trigger fired.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`initiator`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#principalhandle`,children:_jsx(_components.code,{children:`PrincipalHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Principal that initiated the run, if applicable.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`trigger`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#flowtrigger`,children:_jsx(_components.code,{children:`FlowTrigger`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Copy of the trigger configuration from the parent Flow that fired.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/flows/v1alpha1/FlowRunActivationCause.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`flowrunactivationcauses`,children:_jsx(_components.code,{children:`FlowRunActivationCauses`})}),`\n`,_jsx(_components.p,{children:`Condition capturing what caused this FlowRun to be scheduled. Set by the controller at creation time; never written by users. In case of a retry, the causes of the original run are preserved.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`activationCauses`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#flowrunactivationcause`,children:_jsx(_components.code,{children:`FlowRunActivationCause`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Triggers that caused this run to be scheduled.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`lateActivationCauses`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#flowrunactivationcause`,children:_jsx(_components.code,{children:`FlowRunActivationCause`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Additional triggers that fired while this run was already queued or executing.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/flows/v1alpha1/FlowRunActivationCauses.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`flowrunretry`,children:_jsx(_components.code,{children:`FlowRunRetry`})}),`\n`,_jsx(_components.p,{children:`Condition linking this FlowRun to the previous FlowRun it is retrying. Set by the controller; never written by users.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`retryOf`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourcehandle`,children:_jsx(_components.code,{children:`ResourceHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to the FlowRun this run is retrying.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`retryNumber`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint32`})}),_jsx(_components.td,{children:`Retry attempt number (1 = first retry, i.e. second run total).`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/flows/v1alpha1/FlowRunRetry.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`flowrunspec`,children:_jsx(_components.code,{children:`FlowRunSpec`})}),`\n`,_jsx(_components.p,{children:`Defines a set of tasks to be executed in a sequence.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`target`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourcehandle`,children:_jsx(_components.code,{children:`ResourceHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Defines the default target resources on which tasks will be performed.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`serviceAccount`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#principalhandle`,children:_jsx(_components.code,{children:`PrincipalHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Service account whose permissions the tasks of this run execute with. Must be an account of service account type. A run created by the flow controller copies it from the `,_jsx(_components.code,{children:`Flow`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`tasks`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#taskspec`,children:_jsx(_components.code,{children:`TaskSpec`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`List of tasks to run consecutively.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/flows/v1alpha1/FlowRunSpec.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`flowrunspecinput`,children:_jsx(_components.code,{children:`FlowRunSpecInput`})}),`\n`,_jsx(_components.p,{children:`Defines a set of tasks to be executed in a sequence.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`target`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceref`,children:_jsx(_components.code,{children:`ResourceRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Defines the default target resources on which tasks will be performed.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`serviceAccount`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#principalref`,children:_jsx(_components.code,{children:`PrincipalRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Service account whose permissions the tasks of this run execute with. Must be an account of service account type. A run created by the flow controller copies it from the `,_jsx(_components.code,{children:`Flow`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`tasks`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#taskspecinput`,children:_jsx(_components.code,{children:`TaskSpecInput`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`List of tasks to run consecutively.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/flows/v1alpha1/FlowRunSpecInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`flowrunstatus`,children:_jsx(_components.code,{children:`FlowRunStatus`})}),`\n`,_jsx(_components.p,{children:`Condition tracking the overall execution status of a FlowRun and its spawned tasks.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`status`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#value`,children:_jsx(_components.code,{children:`Value`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Overall execution status of the FlowRun.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`tasks`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#taskentry`,children:_jsx(_components.code,{children:`TaskEntry`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Tasks spawned by this FlowRun, in execution order.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/flows/v1alpha1/FlowRunStatus.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`flowspec`,children:_jsx(_components.code,{children:`FlowSpec`})}),`\n`,_jsx(_components.p,{children:`Defines a sequence of tasks to be executed upon certain trigger conditions.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`target`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceselector`,children:_jsx(_components.code,{children:`ResourceSelector`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Defines resources for which this flow will be instantiated.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`serviceAccount`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#principalhandle`,children:_jsx(_components.code,{children:`PrincipalHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Service account whose permissions the tasks of this flow execute with. Must be an account of service account type. Required for flows owned by an organization. When omitted, tasks execute with the permissions of the user account that owns the flow.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`triggers`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#flowtrigger`,children:_jsx(_components.code,{children:`FlowTrigger`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Conditions that cause this flow to execute.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`tasks`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#taskspec`,children:_jsx(_components.code,{children:`TaskSpec`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`List of tasks to run consecutively.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`retryPolicy`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#retrypolicy`,children:_jsx(_components.code,{children:`RetryPolicy`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Defines how a flow should react to failures.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`recentBindingsRetention`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#recentbindingsretention`,children:_jsx(_components.code,{children:`RecentBindingsRetention`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Controls retention of `,_jsx(_components.code,{children:`FlowStatus.recentBindings`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`recentRunsRetention`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#recentrunsretention`,children:_jsx(_components.code,{children:`RecentRunsRetention`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Controls retention of `,_jsx(_components.code,{children:`FlowStatus.recentRuns`}),`.`]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/flows/v1alpha1/FlowSpec.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`flowspecinput`,children:_jsx(_components.code,{children:`FlowSpecInput`})}),`\n`,_jsx(_components.p,{children:`Defines a sequence of tasks to be executed upon certain trigger conditions.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`target`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceselector`,children:_jsx(_components.code,{children:`ResourceSelector`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Defines resources for which this flow will be instantiated.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`serviceAccount`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#principalref`,children:_jsx(_components.code,{children:`PrincipalRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Service account whose permissions the tasks of this flow execute with. Must be an account of service account type. Required for flows owned by an organization. When omitted, tasks execute with the permissions of the user account that owns the flow.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`triggers`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#flowtriggerinput`,children:_jsx(_components.code,{children:`FlowTriggerInput`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Conditions that cause this flow to execute.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`tasks`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#taskspecinput`,children:_jsx(_components.code,{children:`TaskSpecInput`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`List of tasks to run consecutively.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`retryPolicy`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#retrypolicy`,children:_jsx(_components.code,{children:`RetryPolicy`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Defines how a flow should react to failures.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`recentBindingsRetention`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#recentbindingsretention`,children:_jsx(_components.code,{children:`RecentBindingsRetention`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Controls retention of `,_jsx(_components.code,{children:`FlowStatus.recentBindings`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`recentRunsRetention`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#recentrunsretention`,children:_jsx(_components.code,{children:`RecentRunsRetention`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Controls retention of `,_jsx(_components.code,{children:`FlowStatus.recentRuns`}),`.`]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/flows/v1alpha1/FlowSpecInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`flowstatus`,children:_jsx(_components.code,{children:`FlowStatus`})}),`\n`,_jsx(_components.p,{children:`Condition tracking the overall status of a Flow and a summary of recent runs.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`status`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#value`,children:_jsx(_components.code,{children:`Value`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Overall operational status of the Flow.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`recentBindings`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#bindingentry`,children:_jsx(_components.code,{children:`BindingEntry`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Last N resources matched by the flow’s target selector. Bounded by spec.recentBindingsRetention.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`bindingsTotal`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsx(_components.td,{children:`Total number of resources currently matched by the flow’s target selector.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`recentRuns`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#runentry`,children:_jsx(_components.code,{children:`RunEntry`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Summaries of recent FlowRuns. Bounded by spec.recentRunsRetention.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/flows/v1alpha1/FlowStatus.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`flowtrigger`,children:_jsx(_components.code,{children:`FlowTrigger`})}),`\n`,_jsx(_components.p,{children:`Condition that causes a flow to be executed.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Union Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#flowtriggermanual`,children:_jsx(_components.code,{children:`FlowTrigger::Manual`})})}),_jsx(_components.td,{children:`Triggers the flow via an API call or UI action.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#flowtriggerschedule`,children:_jsx(_components.code,{children:`FlowTrigger::Schedule`})})}),_jsx(_components.td,{children:`Triggers the flow on a cron schedule.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#flowtriggerinterval`,children:_jsx(_components.code,{children:`FlowTrigger::Interval`})})}),_jsx(_components.td,{children:`Triggers the flow at regular intervals.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#flowtriggerevent`,children:_jsx(_components.code,{children:`FlowTrigger::Event`})})}),_jsx(_components.td,{children:`Triggers the flow when an event bus event matching one of the filters is observed.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#flowtriggersource`,children:_jsx(_components.code,{children:`FlowTrigger::Source`})})}),_jsx(_components.td,{children:`Triggers the flow when a source receives new data, with optional batching controls.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#flowtriggerinputsupdated`,children:_jsx(_components.code,{children:`FlowTrigger::InputsUpdated`})})}),_jsx(_components.td,{children:`Triggers the flow when inputs of a derivative dataset receive new data, with optional batching controls.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/flows/v1alpha1/FlowTrigger.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`flowtriggermanual`,children:_jsx(_components.code,{children:`FlowTrigger::Manual`})}),`\n`,_jsx(_components.p,{children:`Triggers the flow via an API call or UI action.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`enabled`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`boolean`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Allows to pause an individual trigger.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`True`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cooldown`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`duration`})}),_jsx(_components.td,{children:`Minimum interval between activations of the trigger. If the trigger fires again within the interval, the activation is postponed until the interval ends, batching multiple activations into one flow run.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cooldownMaxBatch`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsxs(_components.td,{children:[`If the trigger is activated this many times during the `,_jsx(_components.code,{children:`cooldown`}),` interval, it fires without waiting for the interval to end.`]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/flows/v1alpha1/FlowTrigger.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`flowtriggerschedule`,children:_jsx(_components.code,{children:`FlowTrigger::Schedule`})}),`\n`,_jsx(_components.p,{children:`Triggers the flow on a cron schedule.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`enabled`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`boolean`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Allows to pause an individual trigger.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`True`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cooldown`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`duration`})}),_jsx(_components.td,{children:`Minimum interval between activations of the trigger. If the trigger fires again within the interval, the activation is postponed until the interval ends, batching multiple activations into one flow run.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cooldownMaxBatch`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsxs(_components.td,{children:[`If the trigger is activated this many times during the `,_jsx(_components.code,{children:`cooldown`}),` interval, it fires without waiting for the interval to end.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cron`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Cron5 expression defining the schedule e.g. `,_jsx(_components.code,{children:`@daily`}),` or `,_jsx(_components.code,{children:`*/30 * * * *`}),`.`]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/flows/v1alpha1/FlowTrigger.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`flowtriggerinterval`,children:_jsx(_components.code,{children:`FlowTrigger::Interval`})}),`\n`,_jsx(_components.p,{children:`Triggers the flow at regular intervals.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`enabled`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`boolean`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Allows to pause an individual trigger.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`True`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cooldown`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`duration`})}),_jsx(_components.td,{children:`Minimum interval between activations of the trigger. If the trigger fires again within the interval, the activation is postponed until the interval ends, batching multiple activations into one flow run.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cooldownMaxBatch`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsxs(_components.td,{children:[`If the trigger is activated this many times during the `,_jsx(_components.code,{children:`cooldown`}),` interval, it fires without waiting for the interval to end.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`interval`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`duration`})}),_jsxs(_components.td,{children:[`Interval between activations e.g. `,_jsx(_components.code,{children:`15m`}),`.`]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/flows/v1alpha1/FlowTrigger.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`flowtriggerevent`,children:_jsx(_components.code,{children:`FlowTrigger::Event`})}),`\n`,_jsx(_components.p,{children:`Triggers the flow when an event bus event matching one of the filters is observed.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`enabled`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`boolean`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Allows to pause an individual trigger.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`True`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`events`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#eventfilter`,children:_jsx(_components.code,{children:`EventFilter`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Filters the event by type and fields.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cooldown`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`duration`})}),_jsx(_components.td,{children:`Minimum interval between activations of the trigger. If the trigger fires again within the interval, the activation is postponed until the interval ends, batching multiple activations into one flow run.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cooldownMaxBatch`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsxs(_components.td,{children:[`If the trigger is activated this many times during the `,_jsx(_components.code,{children:`cooldown`}),` interval, it fires without waiting for the interval to end.`]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/flows/v1alpha1/FlowTrigger.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`flowtriggersource`,children:_jsx(_components.code,{children:`FlowTrigger::Source`})}),`\n`,_jsx(_components.p,{children:`Triggers the flow when a source receives new data, with optional batching controls.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`enabled`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`boolean`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Allows to pause an individual trigger.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`True`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cooldown`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`duration`})}),_jsx(_components.td,{children:`Minimum interval between activations of the trigger. If the trigger fires again within the interval, the activation is postponed until the interval ends, batching multiple activations into one flow run.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cooldownMaxBatch`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsxs(_components.td,{children:[`If the trigger is activated this many times during the `,_jsx(_components.code,{children:`cooldown`}),` interval, it fires without waiting for the interval to end.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`source`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourcehandle`,children:_jsx(_components.code,{children:`ResourceHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to the source resource that drives this trigger.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`minRecordsToAwait`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsx(_components.td,{children:`Minimum number of new records to accumulate before triggering.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`maxAwaitInterval`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`duration`})}),_jsxs(_components.td,{children:[`Maximum time to wait for `,_jsx(_components.code,{children:`minRecordsToAwait`}),` before triggering anyway e.g. `,_jsx(_components.code,{children:`1h`}),`.`]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/flows/v1alpha1/FlowTrigger.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`flowtriggerinputsupdated`,children:_jsx(_components.code,{children:`FlowTrigger::InputsUpdated`})}),`\n`,_jsx(_components.p,{children:`Triggers the flow when inputs of a derivative dataset receive new data, with optional batching controls.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`enabled`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`boolean`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Allows to pause an individual trigger.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`True`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cooldown`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`duration`})}),_jsx(_components.td,{children:`Minimum interval between activations of the trigger. If the trigger fires again within the interval, the activation is postponed until the interval ends, batching multiple activations into one flow run.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cooldownMaxBatch`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsxs(_components.td,{children:[`If the trigger is activated this many times during the `,_jsx(_components.code,{children:`cooldown`}),` interval, it fires without waiting for the interval to end.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`target`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#datasetselector`,children:_jsx(_components.code,{children:`DatasetSelector`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Selector of derivative datasets whose inputs are watched. Defaults to the flow-level target when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`minRecordsToAwait`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsx(_components.td,{children:`Minimum number of new input records to accumulate before triggering.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`maxAwaitInterval`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`duration`})}),_jsxs(_components.td,{children:[`Maximum time to wait for `,_jsx(_components.code,{children:`minRecordsToAwait`}),` before triggering anyway e.g. `,_jsx(_components.code,{children:`1h`}),`.`]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/flows/v1alpha1/FlowTrigger.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`flowtriggerinput`,children:_jsx(_components.code,{children:`FlowTriggerInput`})}),`\n`,_jsx(_components.p,{children:`Condition that causes a flow to be executed.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Union Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#flowtriggerinputmanual`,children:_jsx(_components.code,{children:`FlowTriggerInput::Manual`})})}),_jsx(_components.td,{children:`Triggers the flow via an API call or UI action.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#flowtriggerinputschedule`,children:_jsx(_components.code,{children:`FlowTriggerInput::Schedule`})})}),_jsx(_components.td,{children:`Triggers the flow on a cron schedule.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#flowtriggerinputinterval`,children:_jsx(_components.code,{children:`FlowTriggerInput::Interval`})})}),_jsx(_components.td,{children:`Triggers the flow at regular intervals.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#flowtriggerinputevent`,children:_jsx(_components.code,{children:`FlowTriggerInput::Event`})})}),_jsx(_components.td,{children:`Triggers the flow when an event bus event matching one of the filters is observed.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#flowtriggerinputsource`,children:_jsx(_components.code,{children:`FlowTriggerInput::Source`})})}),_jsx(_components.td,{children:`Triggers the flow when a source receives new data, with optional batching controls.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#flowtriggerinputinputsupdated`,children:_jsx(_components.code,{children:`FlowTriggerInput::InputsUpdated`})})}),_jsx(_components.td,{children:`Triggers the flow when inputs of a derivative dataset receive new data, with optional batching controls.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/flows/v1alpha1/FlowTriggerInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`flowtriggerinputmanual`,children:_jsx(_components.code,{children:`FlowTriggerInput::Manual`})}),`\n`,_jsx(_components.p,{children:`Triggers the flow via an API call or UI action.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`enabled`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`boolean`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Allows to pause an individual trigger.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`True`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cooldown`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`duration`})}),_jsx(_components.td,{children:`Minimum interval between activations of the trigger. If the trigger fires again within the interval, the activation is postponed until the interval ends, batching multiple activations into one flow run.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cooldownMaxBatch`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsxs(_components.td,{children:[`If the trigger is activated this many times during the `,_jsx(_components.code,{children:`cooldown`}),` interval, it fires without waiting for the interval to end.`]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/flows/v1alpha1/FlowTriggerInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`flowtriggerinputschedule`,children:_jsx(_components.code,{children:`FlowTriggerInput::Schedule`})}),`\n`,_jsx(_components.p,{children:`Triggers the flow on a cron schedule.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`enabled`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`boolean`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Allows to pause an individual trigger.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`True`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cooldown`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`duration`})}),_jsx(_components.td,{children:`Minimum interval between activations of the trigger. If the trigger fires again within the interval, the activation is postponed until the interval ends, batching multiple activations into one flow run.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cooldownMaxBatch`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsxs(_components.td,{children:[`If the trigger is activated this many times during the `,_jsx(_components.code,{children:`cooldown`}),` interval, it fires without waiting for the interval to end.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cron`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Cron5 expression defining the schedule e.g. `,_jsx(_components.code,{children:`@daily`}),` or `,_jsx(_components.code,{children:`*/30 * * * *`}),`.`]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/flows/v1alpha1/FlowTriggerInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`flowtriggerinputinterval`,children:_jsx(_components.code,{children:`FlowTriggerInput::Interval`})}),`\n`,_jsx(_components.p,{children:`Triggers the flow at regular intervals.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`enabled`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`boolean`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Allows to pause an individual trigger.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`True`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cooldown`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`duration`})}),_jsx(_components.td,{children:`Minimum interval between activations of the trigger. If the trigger fires again within the interval, the activation is postponed until the interval ends, batching multiple activations into one flow run.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cooldownMaxBatch`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsxs(_components.td,{children:[`If the trigger is activated this many times during the `,_jsx(_components.code,{children:`cooldown`}),` interval, it fires without waiting for the interval to end.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`interval`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`duration`})}),_jsxs(_components.td,{children:[`Interval between activations e.g. `,_jsx(_components.code,{children:`15m`}),`.`]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/flows/v1alpha1/FlowTriggerInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`flowtriggerinputevent`,children:_jsx(_components.code,{children:`FlowTriggerInput::Event`})}),`\n`,_jsx(_components.p,{children:`Triggers the flow when an event bus event matching one of the filters is observed.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`enabled`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`boolean`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Allows to pause an individual trigger.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`True`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`events`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#eventfilter`,children:_jsx(_components.code,{children:`EventFilter`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Filters the event by type and fields.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cooldown`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`duration`})}),_jsx(_components.td,{children:`Minimum interval between activations of the trigger. If the trigger fires again within the interval, the activation is postponed until the interval ends, batching multiple activations into one flow run.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cooldownMaxBatch`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsxs(_components.td,{children:[`If the trigger is activated this many times during the `,_jsx(_components.code,{children:`cooldown`}),` interval, it fires without waiting for the interval to end.`]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/flows/v1alpha1/FlowTriggerInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`flowtriggerinputsource`,children:_jsx(_components.code,{children:`FlowTriggerInput::Source`})}),`\n`,_jsx(_components.p,{children:`Triggers the flow when a source receives new data, with optional batching controls.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`enabled`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`boolean`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Allows to pause an individual trigger.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`True`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cooldown`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`duration`})}),_jsx(_components.td,{children:`Minimum interval between activations of the trigger. If the trigger fires again within the interval, the activation is postponed until the interval ends, batching multiple activations into one flow run.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cooldownMaxBatch`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsxs(_components.td,{children:[`If the trigger is activated this many times during the `,_jsx(_components.code,{children:`cooldown`}),` interval, it fires without waiting for the interval to end.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`source`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceref`,children:_jsx(_components.code,{children:`ResourceRef`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to the source resource that drives this trigger.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`minRecordsToAwait`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsx(_components.td,{children:`Minimum number of new records to accumulate before triggering.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`maxAwaitInterval`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`duration`})}),_jsxs(_components.td,{children:[`Maximum time to wait for `,_jsx(_components.code,{children:`minRecordsToAwait`}),` before triggering anyway e.g. `,_jsx(_components.code,{children:`1h`}),`.`]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/flows/v1alpha1/FlowTriggerInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`flowtriggerinputinputsupdated`,children:_jsx(_components.code,{children:`FlowTriggerInput::InputsUpdated`})}),`\n`,_jsx(_components.p,{children:`Triggers the flow when inputs of a derivative dataset receive new data, with optional batching controls.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`enabled`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`boolean`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Allows to pause an individual trigger.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`True`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cooldown`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`duration`})}),_jsx(_components.td,{children:`Minimum interval between activations of the trigger. If the trigger fires again within the interval, the activation is postponed until the interval ends, batching multiple activations into one flow run.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cooldownMaxBatch`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsxs(_components.td,{children:[`If the trigger is activated this many times during the `,_jsx(_components.code,{children:`cooldown`}),` interval, it fires without waiting for the interval to end.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`target`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#datasetselector`,children:_jsx(_components.code,{children:`DatasetSelector`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Selector of derivative datasets whose inputs are watched. Defaults to the flow-level target when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`minRecordsToAwait`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsx(_components.td,{children:`Minimum number of new input records to accumulate before triggering.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`maxAwaitInterval`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`duration`})}),_jsxs(_components.td,{children:[`Maximum time to wait for `,_jsx(_components.code,{children:`minRecordsToAwait`}),` before triggering anyway e.g. `,_jsx(_components.code,{children:`1h`}),`.`]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/flows/v1alpha1/FlowTriggerInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`recentbindingsretention`,children:_jsx(_components.code,{children:`RecentBindingsRetention`})}),`\n`,_jsxs(_components.p,{children:[`Controls how many recent bindings are reported in `,_jsx(_components.code,{children:`FlowStatus.recentBindings`}),`.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`maxBindings`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint32`})}),_jsx(_components.td,{children:`Maximum number of recent bindings to report.`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/flows/v1alpha1/RecentBindingsRetention.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`recentrunsretention`,children:_jsx(_components.code,{children:`RecentRunsRetention`})}),`\n`,_jsxs(_components.p,{children:[`Controls how many recent runs are reported in `,_jsx(_components.code,{children:`FlowStatus.recentRuns`}),`. Implementations may additionally cap these values.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`maxRuns`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint32`})}),_jsx(_components.td,{children:`Maximum number of recent runs to report.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`maxAge`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`duration`})}),_jsxs(_components.td,{children:[`Maximum age of a finished run to be reported e.g. `,_jsx(_components.code,{children:`30d`}),`.`]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/flows/v1alpha1/RecentRunsRetention.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`retrybackoff`,children:_jsx(_components.code,{children:`RetryBackoff`})}),`\n`,_jsx(_components.p,{children:`Type of the backoff scaling.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsx(_components.tr,{children:_jsx(_components.th,{style:{textAlign:`center`},children:`Enum Value`})})}),_jsxs(_components.tbody,{children:[_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`Linear`})})}),_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`Exponential`})})})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/flows/v1alpha1/RetryBackoff.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`retrypolicy`,children:_jsx(_components.code,{children:`RetryPolicy`})}),`\n`,_jsx(_components.p,{children:`Defines how a flow should react to failures.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`maxAttempts`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint32`})}),_jsx(_components.td,{children:`Number of attempts before flow auto-scheduling will be disabled.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`minDelay`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`duration`})}),_jsx(_components.td,{children:`How long to wait until the first retry.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`backoff`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#retrybackoff`,children:_jsx(_components.code,{children:`RetryBackoff`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Type of the backoff scaling. When omitted, retries use a constant `,_jsx(_components.code,{children:`minDelay`}),`.`]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/flows/v1alpha1/RetryPolicy.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`2`,id:`resources`,children:`Resources`}),`\n`,_jsx(Heading,{level:`3`,id:`labelfilter`,children:_jsx(_components.code,{children:`LabelFilter`})}),`\n`,_jsx(_components.p,{children:`Filters that work on resource labels and identity headers.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.em,{children:`Map of string keys to arbitrary values.`})}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/resources/v1alpha1/LabelFilter.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`reconciliationerror`,children:_jsx(_components.code,{children:`ReconciliationError`})}),`\n`,_jsx(_components.p,{children:`Condition describing why the controller failed to reconcile the latest generation of a resource. Set by the controller; never written by users.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`code`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Machine-readable code identifying the type of the error.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`message`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Human-readable description of the error.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/resources/v1alpha1/ReconciliationError.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`resource`,children:_jsx(_components.code,{children:`Resource`})}),`\n`,_jsx(_components.p,{children:`Top-level container for canonical representation of a resource that specifies the type and version of the resource, carries identity, ownership, and status information.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`$schema`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`type-uri`})}),_jsxs(_components.td,{children:[`Identifies the controlling entity, a bounded context that this resource belongs to, and the version. Url should follow the pattern `,_jsx(_components.code,{children:`{base-url}/{context}/{version}/{name}`}),` e.g. `,_jsx(_components.code,{children:`https://opendatafabric.org/schemas/datasets/v1/Dataset`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`headers`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceheaders`,children:_jsx(_components.code,{children:`ResourceHeaders`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Container for identity and ownership information of a resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`spec`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`object`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`fragment`})}),_jsx(_components.td,{children:`Specifies the desired state of a resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`status`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourcestatus`,children:_jsx(_components.code,{children:`ResourceStatus`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Resource lifecycle and reconciliation information.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/resources/v1alpha1/Resource.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`resourceannotations`,children:_jsx(_components.code,{children:`ResourceAnnotations`})}),`\n`,_jsx(_components.p,{children:`Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. Unlike labels, annotations are not indexed and cannot be queried by.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.em,{children:`Map of string keys to arbitrary values.`})}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/resources/v1alpha1/ResourceAnnotations.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`resourceconditions`,children:_jsx(_components.code,{children:`ResourceConditions`})}),`\n`,_jsxs(_components.p,{children:[`Container of generic contditions that can be added by contollers to provide additional information about the state of a resource. Keys uniquely identify the condition and should be in the form of a schema URL describing this condition, e.g. `,_jsx(_components.code,{children:`https://opendatafabric.org/schemas/tasks/v1/TaskStatus`}),`.`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.em,{children:`Map of string keys to arbitrary values.`})}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/resources/v1alpha1/ResourceConditions.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`resourcehandle`,children:_jsx(_components.code,{children:`ResourceHandle`})}),`\n`,_jsx(_components.p,{children:`Link to another resolved resource.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`account`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceownerhandle`,children:_jsx(_components.code,{children:`ResourceOwnerHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Account that owns the target resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`type`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`type-uri`})}),_jsx(_components.td,{children:`Type URI of the target resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`id`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`resource-id`})}),_jsx(_components.td,{children:`ID of the resource within a node.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`did`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`did`})}),_jsx(_components.td,{children:`DID of the resource, if applicable.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`resource-name`})}),_jsx(_components.td,{children:`Name of a resource.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/resources/v1alpha1/ResourceHandle.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`resourceheaders`,children:_jsx(_components.code,{children:`ResourceHeaders`})}),`\n`,_jsx(_components.p,{children:`Container for identity and ownership information of a resource.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`id`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`resource-id`})}),_jsx(_components.td,{children:`Unique identifier of a resource within entire ODF node. Automatically assigned upon resource creation.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`resource-name`})}),_jsx(_components.td,{children:`Symbolic name of a resource that identifies it within a scope of an onwing account.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`account`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceownerhandle`,children:_jsx(_components.code,{children:`ResourceOwnerHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Link to the account that owns the resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`labels`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourcelabels`,children:_jsx(_components.code,{children:`ResourceLabels`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Map of string keys and values that can be used to organize, categorize, and query resources.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`annotations`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceannotations`,children:_jsx(_components.code,{children:`ResourceAnnotations`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Annotations is a key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. Unlike labels, annotations are not indexed and cannot be queried by.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`ownerReferences`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#resourcehandle`,children:_jsx(_components.code,{children:`ResourceHandle`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`References to resources that created this resource. Used for lineage tracking and cascading cleanup.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`generation`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsxs(_components.td,{children:[`A sequential number that changes every time the resource header and spec are updated. Does not increment on status changes, thus signifying changes to the desired state. Populated by the system. Starts with `,_jsx(_components.code,{children:`1`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`statusGeneration`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsxs(_components.td,{children:[`A sequential number that changes every time the resource status is updated. Can be passed back as a precondition of a status update to make sure the status was not modified since it was read. Populated by the system. Starts with `,_jsx(_components.code,{children:`1`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`createdAt`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.a,{href:`https://json-schema.org/draft/2019-09/json-schema-validation.html#rfc.section.7.3.1`,children:_jsx(_components.code,{children:`date-time`})})}),_jsx(_components.td,{children:`Time when the resource was first applied and assigned an identity.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`updatedAt`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.a,{href:`https://json-schema.org/draft/2019-09/json-schema-validation.html#rfc.section.7.3.1`,children:_jsx(_components.code,{children:`date-time`})})}),_jsx(_components.td,{children:`Time when the resource was last updated, including header, spec, and status updates.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`deletionRequestedAt`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.a,{href:`https://json-schema.org/draft/2019-09/json-schema-validation.html#rfc.section.7.3.1`,children:_jsx(_components.code,{children:`date-time`})})}),_jsx(_components.td,{children:`Time when deletion of the resource was requested. The resource remains visible until its controllers finish cleaning up and the deletion completes.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`deletedAt`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.a,{href:`https://json-schema.org/draft/2019-09/json-schema-validation.html#rfc.section.7.3.1`,children:_jsx(_components.code,{children:`date-time`})})}),_jsx(_components.td,{children:`Time when the resource was deleted.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/resources/v1alpha1/ResourceHeaders.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`resourceheadersinput`,children:_jsx(_components.code,{children:`ResourceHeadersInput`})}),`\n`,_jsx(_components.p,{children:`Container for identity and ownership information of a resource.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`id`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`resource-id`})}),_jsx(_components.td,{children:`Unique identifier of a resource within entire ODF node. Automatically assigned upon resource creation.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`resource-name`})}),_jsx(_components.td,{children:`Symbolic name of a resource that identifies it within a scope of an onwing account.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`account`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceownerref`,children:_jsx(_components.code,{children:`ResourceOwnerRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to the account that owns the resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`labels`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourcelabels`,children:_jsx(_components.code,{children:`ResourceLabels`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Map of string keys and values that can be used to organize, categorize, and query resources.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`annotations`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceannotations`,children:_jsx(_components.code,{children:`ResourceAnnotations`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Annotations is a key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. Unlike labels, annotations are not indexed and cannot be queried by.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`ownerReferences`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#resourceref`,children:_jsx(_components.code,{children:`ResourceRef`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`References to resources that created this resource. Used for lineage tracking and cascading cleanup.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/resources/v1alpha1/ResourceHeadersInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`resourceinput`,children:_jsx(_components.code,{children:`ResourceInput`})}),`\n`,_jsx(_components.p,{children:`Top-level container for user-authored representation of a resource that specifies the type and version of the resource and its desired state.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`$schema`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`type-uri`})}),_jsxs(_components.td,{children:[`Identifies the controlling entity, a bounded context that this resource belongs to, and the version. Url should follow the pattern `,_jsx(_components.code,{children:`{base-url}/{context}/{version}/{name}`}),` e.g. `,_jsx(_components.code,{children:`https://opendatafabric.org/schemas/datasets/v1/Dataset`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`headers`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceheadersinput`,children:_jsx(_components.code,{children:`ResourceHeadersInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Container for identity and ownership information of a resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`spec`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`object`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`fragment`})}),_jsx(_components.td,{children:`Specifies the desired state of a resource.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/resources/v1alpha1/ResourceInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`resourcelabels`,children:_jsx(_components.code,{children:`ResourceLabels`})}),`\n`,_jsx(_components.p,{children:`Map of string keys and values that can be used to organize, categorize, and query resources.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.em,{children:`Map of string keys to arbitrary values.`})}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/resources/v1alpha1/ResourceLabels.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`resourcephase`,children:_jsx(_components.code,{children:`ResourcePhase`})}),`\n`,_jsx(_components.p,{children:`Represents the reconciliation or deletion phase of a resource.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsx(_components.tr,{children:_jsx(_components.th,{style:{textAlign:`center`},children:`Enum Value`})})}),_jsxs(_components.tbody,{children:[_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`Pending`})})}),_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`Reconciling`})})}),_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`Ready`})})}),_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`Degraded`})})}),_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`Failed`})})}),_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`Deleting`})})}),_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`Deleted`})})})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/resources/v1alpha1/ResourcePhase.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`resourceref`,children:_jsx(_components.code,{children:`ResourceRef`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`account`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceownerref`,children:_jsx(_components.code,{children:`ResourceOwnerRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to an account that owns the target resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`id`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`resource-id`})}),_jsx(_components.td,{children:`ID of the resource within a node.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`did`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`did`})}),_jsx(_components.td,{children:`DID of the resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`type`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`type-ref`})}),_jsx(_components.td,{children:`Short type name or full type URI of the target resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`resource-name`})}),_jsx(_components.td,{children:`Name of a resource.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/resources/v1alpha1/ResourceRef.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`resourceselector`,children:_jsx(_components.code,{children:`ResourceSelector`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`account`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceownerref`,children:_jsx(_components.code,{children:`ResourceOwnerRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to an account that owns the target resources.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`id`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`resource-id`})}),_jsx(_components.td,{children:`ID of the singular resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`did`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`did`})}),_jsx(_components.td,{children:`DID of the resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`type`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`type-ref`})}),_jsxs(_components.td,{children:[`Short type name of the target resource e.g. `,_jsx(_components.code,{children:`SecretSet`}),` or a full schema URI e.g. `,_jsx(_components.code,{children:`https://opendatafabric.org/schemas/config/v1alpha1/SecretSet`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Name pattern in SQL `,_jsx(_components.code,{children:`LIKE`}),` format.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`labels`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#labelfilter`,children:_jsx(_components.code,{children:`LabelFilter`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Filter by resource labels.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/resources/v1alpha1/ResourceSelector.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`resourcestatus`,children:_jsx(_components.code,{children:`ResourceStatus`})}),`\n`,_jsx(_components.p,{children:`Resource lifecycle and reconciliation information.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`phase`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourcephase`,children:_jsx(_components.code,{children:`ResourcePhase`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Represents the reconciliation phase of a resource as seen by the main resource controller.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`observedGeneration`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsx(_components.td,{children:`Resource generation that was last seen by the main resource controller.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`observedAt`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.a,{href:`https://json-schema.org/draft/2019-09/json-schema-validation.html#rfc.section.7.3.1`,children:_jsx(_components.code,{children:`date-time`})})}),_jsxs(_components.td,{children:[`Time when the controller seen the resource state as defined in `,_jsx(_components.code,{children:`observedGeneration`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`reconciledGeneration`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsx(_components.td,{children:`Resource generation that was last successfully reconciled by the main resource controller.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`reconciledAt`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.a,{href:`https://json-schema.org/draft/2019-09/json-schema-validation.html#rfc.section.7.3.1`,children:_jsx(_components.code,{children:`date-time`})})}),_jsxs(_components.td,{children:[`Time when the controller last reconciled the desired resource state as defined in `,_jsx(_components.code,{children:`reconciledGeneration`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`conditions`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceconditions`,children:_jsx(_components.code,{children:`ResourceConditions`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Detailed conditions describing the state of the resource that are added by controllers.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/resources/v1alpha1/ResourceStatus.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`addlabel`,children:_jsx(_components.code,{children:`AddLabel`})}),`\n`,_jsx(_components.p,{children:`Apply a specific label to the resource.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`labelType`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`type-uri`})}),_jsx(_components.td,{children:`Schema URI of the label being added.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`labelValue`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`object`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Value of the label being added.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/resources/v1alpha1/actions/AddLabel.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`create`,children:_jsx(_components.code,{children:`Create`})}),`\n`,_jsx(_components.p,{children:`Create a new resource instance of a type (object is a type URI) under an account.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`targetOwner`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceownerhandle`,children:_jsx(_components.code,{children:`ResourceOwnerHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Account under which the resource is being created.`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/resources/v1alpha1/actions/Create.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`delete`,children:_jsx(_components.code,{children:`Delete`})}),`\n`,_jsx(_components.p,{children:`Delete the resource instance.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/resources/v1alpha1/actions/Delete.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`edit`,children:_jsx(_components.code,{children:`Edit`})}),`\n`,_jsx(_components.p,{children:`Modify the resource manifest.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/resources/v1alpha1/actions/Edit.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`list`,children:_jsx(_components.code,{children:`List`})}),`\n`,_jsx(_components.p,{children:`List resource instances of a type (object is a type URI) under an account.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`targetOwner`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceownerhandle`,children:_jsx(_components.code,{children:`ResourceOwnerHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Account under which resources are being listed.`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/resources/v1alpha1/actions/List.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`removelabel`,children:_jsx(_components.code,{children:`RemoveLabel`})}),`\n`,_jsx(_components.p,{children:`Remove a specific label from the resource.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`labelType`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`type-uri`})}),_jsx(_components.td,{children:`Schema URI of the label being removed.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`labelValue`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`object`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Existing value of the label being removed.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/resources/v1alpha1/actions/RemoveLabel.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`view`,children:_jsx(_components.code,{children:`View`})}),`\n`,_jsx(_components.p,{children:`Read the resource manifest.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/resources/v1alpha1/actions/View.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`2`,id:`sinks`,children:`Sinks`}),`\n`,_jsx(Heading,{level:`3`,id:`webhookendpoint`,children:_jsx(_components.code,{children:`WebhookEndpoint`})}),`\n`,_jsx(_components.p,{children:`Defines a webhook endpoint that can receive event notifications and data.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`$schema`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`type-uri`})}),_jsx(_components.td,{children:`Identifies this resource type.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`headers`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceheadersinput`,children:_jsx(_components.code,{children:`ResourceHeadersInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Container for identity and ownership information of a resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`spec`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#webhookendpointspecinput`,children:_jsx(_components.code,{children:`WebhookEndpointSpecInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Specifies the desired state of the resource.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sinks/v1alpha1/WebhookEndpoint.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`webhookendpointspec`,children:_jsx(_components.code,{children:`WebhookEndpointSpec`})}),`\n`,_jsx(_components.p,{children:`Defines a webhook endpoint that can receive event notifications and data.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`url`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uri`})}),_jsx(_components.td,{children:`URL of the webhook endpoint.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`secret`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#secret`,children:_jsx(_components.code,{children:`Secret`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Shared secret used for HMAC signature of the request payload for authentication.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sinks/v1alpha1/WebhookEndpointSpec.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`webhookendpointspecinput`,children:_jsx(_components.code,{children:`WebhookEndpointSpecInput`})}),`\n`,_jsx(_components.p,{children:`Defines a webhook endpoint that can receive event notifications and data.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`url`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uri`})}),_jsx(_components.td,{children:`URL of the webhook endpoint.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`secret`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#secret`,children:_jsx(_components.code,{children:`Secret`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Shared secret used for HMAC signature of the request payload for authentication.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sinks/v1alpha1/WebhookEndpointSpecInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`2`,id:`sources`,children:`Sources`}),`\n`,_jsx(Heading,{level:`3`,id:`compressionformat`,children:_jsx(_components.code,{children:`CompressionFormat`})}),`\n`,_jsx(_components.p,{children:`Defines a compression algorithm.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsx(_components.tr,{children:_jsx(_components.th,{style:{textAlign:`center`},children:`Enum Value`})})}),_jsxs(_components.tbody,{children:[_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`Gzip`})})}),_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`Zip`})})})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/CompressionFormat.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`envvar`,children:_jsx(_components.code,{children:`EnvVar`})}),`\n`,_jsx(_components.p,{children:`Defines an environment variable passed into some job.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Name of the variable.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`value`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Value of the variable.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/EnvVar.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`eventtimesource`,children:_jsx(_components.code,{children:`EventTimeSource`})}),`\n`,_jsx(_components.p,{children:`Defines the external source of data.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Union Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#eventtimesourcefrommetadata`,children:_jsx(_components.code,{children:`EventTimeSource::FromMetadata`})})}),_jsx(_components.td,{children:`Extracts event time from the source’s metadata.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#eventtimesourcefrompath`,children:_jsx(_components.code,{children:`EventTimeSource::FromPath`})})}),_jsx(_components.td,{children:`Extracts event time from the path component of the source.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#eventtimesourcefromsystemtime`,children:_jsx(_components.code,{children:`EventTimeSource::FromSystemTime`})})}),_jsx(_components.td,{children:`Assigns event time from the system time source.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/EventTimeSource.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`eventtimesourcefrommetadata`,children:_jsx(_components.code,{children:`EventTimeSource::FromMetadata`})}),`\n`,_jsx(_components.p,{children:`Extracts event time from the source’s metadata.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/EventTimeSource.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`eventtimesourcefromsystemtime`,children:_jsx(_components.code,{children:`EventTimeSource::FromSystemTime`})}),`\n`,_jsx(_components.p,{children:`Assigns event time from the system time source.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/EventTimeSource.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`eventtimesourcefrompath`,children:_jsx(_components.code,{children:`EventTimeSource::FromPath`})}),`\n`,_jsx(_components.p,{children:`Extracts event time from the path component of the source.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`pattern`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`regex`})}),_jsx(_components.td,{children:`Regular expression where first group contains the timestamp string.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`timestampFormat`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Format of the expected timestamp in java.text.SimpleDateFormat form.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/EventTimeSource.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`ingress`,children:_jsx(_components.code,{children:`Ingress`})}),`\n`,_jsx(_components.p,{children:`Defines the point where data enters the system.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Union Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#ingressurl`,children:_jsx(_components.code,{children:`Ingress::Url`})})}),_jsx(_components.td,{children:`Pulls data from one of the supported sources by its URL.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#ingressfilesglob`,children:_jsx(_components.code,{children:`Ingress::FilesGlob`})})}),_jsx(_components.td,{children:`Uses glob operator to match files on the local file system.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#ingresscontainer`,children:_jsx(_components.code,{children:`Ingress::Container`})})}),_jsx(_components.td,{children:`Runs the specified OCI container to fetch data from an arbitrary source.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#ingressmqtt`,children:_jsx(_components.code,{children:`Ingress::Mqtt`})})}),_jsx(_components.td,{children:`Connects to an MQTT broker to fetch events from the specified topic.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#ingressevmlogs`,children:_jsx(_components.code,{children:`Ingress::EvmLogs`})})}),_jsx(_components.td,{children:`Connects to an EVM (Ethereum) node to stream transaction logs.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#ingressrestendpoint`,children:_jsx(_components.code,{children:`Ingress::RestEndpoint`})})}),_jsx(_components.td,{children:`Exposes a REST HTTP endpoint that accepts pushed data records.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/Ingress.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`ingressurl`,children:_jsx(_components.code,{children:`Ingress::Url`})}),`\n`,_jsx(_components.p,{children:`Pulls data from one of the supported sources by its URL.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`url`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uri`})}),_jsx(_components.td,{children:`URL of the data source`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`eventTime`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#eventtimesource`,children:_jsx(_components.code,{children:`EventTimeSource`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Describes how event time is extracted from the source metadata.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cache`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#sourcecaching`,children:_jsx(_components.code,{children:`SourceCaching`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Describes the caching settings used for this source.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`headers`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#requestheader`,children:_jsx(_components.code,{children:`RequestHeader`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Headers to pass during the request (e.g. HTTP Authorization)`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/Ingress.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`ingressfilesglob`,children:_jsx(_components.code,{children:`Ingress::FilesGlob`})}),`\n`,_jsx(_components.p,{children:`Uses glob operator to match files on the local file system.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`path`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Path with a glob pattern.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`eventTime`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#eventtimesource`,children:_jsx(_components.code,{children:`EventTimeSource`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Describes how event time is extracted from the source metadata.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cache`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#sourcecaching`,children:_jsx(_components.code,{children:`SourceCaching`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Describes the caching settings used for this source.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`order`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#sourceordering`,children:_jsx(_components.code,{children:`SourceOrdering`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Specifies how input files should be ordered before ingestion.`,_jsx(`br`,{}),`Order is important as every file will be processed individually`,_jsx(`br`,{}),`and will advance the dataset’s watermark.`]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/Ingress.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`ingresscontainer`,children:_jsx(_components.code,{children:`Ingress::Container`})}),`\n`,_jsx(_components.p,{children:`Runs the specified OCI container to fetch data from an arbitrary source.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`image`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Image name and and an optional tag.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`command`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`array(string)`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Specifies the entrypoint. Not executed within a shell. The default OCI image’s ENTRYPOINT is used if this is not provided.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`args`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`array(string)`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Arguments to the entrypoint. The OCI image’s CMD is used if this is not provided.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`env`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#envvar`,children:_jsx(_components.code,{children:`EnvVar`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Environment variables to propagate into or set in the container.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/Ingress.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`ingressmqtt`,children:_jsx(_components.code,{children:`Ingress::Mqtt`})}),`\n`,_jsx(_components.p,{children:`Connects to an MQTT broker to fetch events from the specified topic.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`host`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Hostname of the MQTT broker.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`port`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`int32`})}),_jsx(_components.td,{children:`Port of the MQTT broker.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`username`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Username to use for auth with the broker.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`password`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Password to use for auth with the broker (can be templated).`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`topics`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#mqtttopicsubscription`,children:_jsx(_components.code,{children:`MqttTopicSubscription`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`List of topic subscription parameters.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/Ingress.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`ingressrestendpoint`,children:_jsx(_components.code,{children:`Ingress::RestEndpoint`})}),`\n`,_jsx(_components.p,{children:`Exposes a REST HTTP endpoint that accepts pushed data records.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`buffer`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#ingressbuffer`,children:_jsx(_components.code,{children:`IngressBuffer`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Buffer configuration for holding records until they are ingested.`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/Ingress.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`ingressevmlogs`,children:_jsx(_components.code,{children:`Ingress::EvmLogs`})}),`\n`,_jsx(_components.p,{children:`Connects to an EVM (Ethereum) node to stream transaction logs.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`chainId`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsxs(_components.td,{children:[`Identifier of the chain to scan logs from. This parameter may be used for RPC endpoint lookup as well as asserting that provided `,_jsx(_components.code,{children:`nodeUrl`}),` corresponds to the expected chain.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`nodeUrl`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uri`})}),_jsx(_components.td,{children:`Url of the node.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`filter`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`An SQL WHERE clause that can be used to pre-filter the logs before fetching them from the ETH node.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`signature`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Solidity log event signature to use for decoding. Using this field adds `,_jsx(_components.code,{children:`event`}),` to the output containing decoded log as JSON.`]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/Ingress.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`ingressbuffer`,children:_jsx(_components.code,{children:`IngressBuffer`})}),`\n`,_jsx(_components.p,{children:`Buffer configuration for holding pushed records until they are ingested.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Union Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#ingressbuffermemory`,children:_jsx(_components.code,{children:`IngressBuffer::Memory`})})}),_jsx(_components.td,{children:`An in-memory buffer.`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/IngressBuffer.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`ingressbuffermemory`,children:_jsx(_components.code,{children:`IngressBuffer::Memory`})}),`\n`,_jsx(_components.p,{children:`An in-memory buffer.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`bufferSize`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsx(_components.td,{children:`Maximum number of records to hold in the buffer.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`overflowPolicy`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Policy applied when the buffer is full.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/IngressBuffer.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`mergestrategy`,children:_jsx(_components.code,{children:`MergeStrategy`})}),`\n`,_jsx(_components.p,{children:`Merge strategy determines how newly ingested data should be combined with the data that already exists in the dataset.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Union Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#mergestrategyappend`,children:_jsx(_components.code,{children:`MergeStrategy::Append`})})}),_jsx(_components.td,{children:`Append merge strategy.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#mergestrategyledger`,children:_jsx(_components.code,{children:`MergeStrategy::Ledger`})})}),_jsx(_components.td,{children:`Ledger merge strategy.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#mergestrategysnapshot`,children:_jsx(_components.code,{children:`MergeStrategy::Snapshot`})})}),_jsx(_components.td,{children:`Snapshot merge strategy.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#mergestrategychangelogstream`,children:_jsx(_components.code,{children:`MergeStrategy::ChangelogStream`})})}),_jsx(_components.td,{children:`Changelog stream merge strategy.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#mergestrategyupsertstream`,children:_jsx(_components.code,{children:`MergeStrategy::UpsertStream`})})}),_jsx(_components.td,{children:`Upsert stream merge strategy.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/MergeStrategy.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`mergestrategyappend`,children:_jsx(_components.code,{children:`MergeStrategy::Append`})}),`\n`,_jsx(_components.p,{children:`Append merge strategy.`}),`\n`,_jsx(_components.p,{children:`Under this strategy new data will be appended to the dataset in its entirety, without any deduplication.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/MergeStrategy.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`mergestrategychangelogstream`,children:_jsx(_components.code,{children:`MergeStrategy::ChangelogStream`})}),`\n`,_jsx(_components.p,{children:`Changelog stream merge strategy.`}),`\n`,_jsx(_components.p,{children:`This is the native stream format for ODF that accurately describes the evolution of all event records including appends, retractions, and corrections as per RFC-015. No pre-processing except for format validation is done.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`primaryKey`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`array(string)`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Names of the columns that uniquely identify the record throughout its lifetime`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/MergeStrategy.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`mergestrategyledger`,children:_jsx(_components.code,{children:`MergeStrategy::Ledger`})}),`\n`,_jsx(_components.p,{children:`Ledger merge strategy.`}),`\n`,_jsx(_components.p,{children:`This strategy should be used for data sources containing ledgers of events. Currently this strategy will only perform deduplication of events using user-specified primary key columns. This means that the source data can contain partially overlapping set of records and only those records that were not previously seen will be appended.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`primaryKey`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`array(string)`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Names of the columns that uniquely identify the record throughout its lifetime`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/MergeStrategy.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`mergestrategysnapshot`,children:_jsx(_components.code,{children:`MergeStrategy::Snapshot`})}),`\n`,_jsx(_components.p,{children:`Snapshot merge strategy.`}),`\n`,_jsx(_components.p,{children:`This strategy can be used for data state snapshots that are taken periodically and contain only the latest state of the observed entity or system. Over time such snapshots can have new rows added, and old rows either removed or modified.`}),`\n`,_jsx(_components.p,{children:`This strategy transforms snapshot data into an append-only event stream where data already added is immutable. It does so by performing Change Data Capture - essentially diffing the current state of data against the reconstructed previous state and recording differences as retractions or corrections. The Operation Type “op” column will contain:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`append (`,_jsx(_components.code,{children:`+A`}),`) when a row appears for the first time`]}),`\n`,_jsxs(_components.li,{children:[`retraction (`,_jsx(_components.code,{children:`-R`}),`) when row disappears`]}),`\n`,_jsxs(_components.li,{children:[`correction (`,_jsx(_components.code,{children:`-C`}),`, `,_jsx(_components.code,{children:`+C`}),`) when row data has changed, with `,_jsx(_components.code,{children:`-C`}),` event carrying the old value of the row and `,_jsx(_components.code,{children:`+C`}),` carrying the new value.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`To correctly associate rows between old and new snapshots this strategy relies on user-specified primary key columns.`}),`\n`,_jsxs(_components.p,{children:[`To identify whether a row has changed this strategy will compare all other columns one by one. If the data contains a column that is guaranteed to change whenever any of the data columns changes (for example a last modification timestamp, an incremental version, or a data hash), then it can be specified in `,_jsx(_components.code,{children:`compareColumns`}),` property to speed up the detection of modified rows.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`primaryKey`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`array(string)`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Names of the columns that uniquely identify the record throughout its lifetime.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`compareColumns`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`array(string)`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Names of the columns to compared to determine if a row has changed between two snapshots.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/MergeStrategy.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`mergestrategyupsertstream`,children:_jsx(_components.code,{children:`MergeStrategy::UpsertStream`})}),`\n`,_jsx(_components.p,{children:`Upsert stream merge strategy.`}),`\n`,_jsx(_components.p,{children:`This strategy should be used for data sources containing ledgers of insert-or-update and delete events. Unlike ChangelogStream the insert-or-update events only carry the new values, so this strategy will use primary key to re-classify the events into an append or a correction from/to pair, looking up the previous values.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`primaryKey`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`array(string)`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Names of the columns that uniquely identify the record throughout its lifetime`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/MergeStrategy.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`mqttqos`,children:_jsx(_components.code,{children:`MqttQos`})}),`\n`,_jsx(_components.p,{children:`MQTT quality of service class.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsx(_components.tr,{children:_jsx(_components.th,{style:{textAlign:`center`},children:`Enum Value`})})}),_jsxs(_components.tbody,{children:[_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`AtMostOnce`})})}),_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`AtLeastOnce`})})}),_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`ExactlyOnce`})})})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/MqttQos.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`mqtttopicsubscription`,children:_jsx(_components.code,{children:`MqttTopicSubscription`})}),`\n`,_jsx(_components.p,{children:`MQTT topic subscription parameters.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`path`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Name of the topic (may include patterns).`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`qos`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#mqttqos`,children:_jsx(_components.code,{children:`MqttQos`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Quality of service class.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`AtMostOnce`})]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/MqttTopicSubscription.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`prepstep`,children:_jsx(_components.code,{children:`PrepStep`})}),`\n`,_jsx(_components.p,{children:`Defines the steps to prepare raw data for ingestion.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Union Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#prepstepdecompress`,children:_jsx(_components.code,{children:`PrepStep::Decompress`})})}),_jsx(_components.td,{children:`Pulls data from one of the supported sources by its URL.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#prepsteppipe`,children:_jsx(_components.code,{children:`PrepStep::Pipe`})})}),_jsx(_components.td,{children:`Executes external command to process the data using piped input/output.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/PrepStep.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`prepstepdecompress`,children:_jsx(_components.code,{children:`PrepStep::Decompress`})}),`\n`,_jsx(_components.p,{children:`Pulls data from one of the supported sources by its URL.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`format`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#compressionformat`,children:_jsx(_components.code,{children:`CompressionFormat`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Name of a compression algorithm used on data.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`subPath`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Path to a data file within a multi-file archive. Can contain glob patterns.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/PrepStep.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`prepsteppipe`,children:_jsx(_components.code,{children:`PrepStep::Pipe`})}),`\n`,_jsx(_components.p,{children:`Executes external command to process the data using piped input/output.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`command`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`array(string)`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Command to execute and its arguments.`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/PrepStep.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`readstep`,children:_jsx(_components.code,{children:`ReadStep`})}),`\n`,_jsx(_components.p,{children:`Defines how raw data should be read into the structured form.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Union Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#readstepcsv`,children:_jsx(_components.code,{children:`ReadStep::Csv`})})}),_jsx(_components.td,{children:`Reader for comma-separated files.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#readstepgeojson`,children:_jsx(_components.code,{children:`ReadStep::GeoJson`})})}),_jsxs(_components.td,{children:[`Reader for GeoJSON files. It expects one `,_jsx(_components.code,{children:`FeatureCollection`}),` object in the root and will create a record per each `,_jsx(_components.code,{children:`Feature`}),` inside it extracting the properties into individual columns and leaving the feature geometry in its own column.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#readstepesrishapefile`,children:_jsx(_components.code,{children:`ReadStep::EsriShapefile`})})}),_jsx(_components.td,{children:`Reader for ESRI Shapefile format.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#readstepparquet`,children:_jsx(_components.code,{children:`ReadStep::Parquet`})})}),_jsx(_components.td,{children:`Reader for Apache Parquet format.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#readstepjson`,children:_jsx(_components.code,{children:`ReadStep::Json`})})}),_jsx(_components.td,{children:`Reader for JSON files that contain an array of objects within them.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#readstepndjson`,children:_jsx(_components.code,{children:`ReadStep::NdJson`})})}),_jsx(_components.td,{children:`Reader for files containing multiple newline-delimited JSON objects with the same schema.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#readstepndgeojson`,children:_jsx(_components.code,{children:`ReadStep::NdGeoJson`})})}),_jsxs(_components.td,{children:[`Reader for Newline-delimited GeoJSON files. It is similar to `,_jsx(_components.code,{children:`GeoJson`}),` format but instead of `,_jsx(_components.code,{children:`FeatureCollection`}),` object in the root it expects every individual feature object to appear on its own line.`]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/ReadStep.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`readstepcsv`,children:_jsx(_components.code,{children:`ReadStep::Csv`})}),`\n`,_jsx(_components.p,{children:`Reader for comma-separated files.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`ddlSchema`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`array(string)`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`DEPRECATED: A DDL-formatted schema. Schema can be used to coerce values into more appropriate data types.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`separator`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Sets a single character as a separator for each field and value.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`,`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`encoding`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Decodes the CSV files by the given encoding type.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`utf8`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`quote`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Sets a single character used for escaping quoted values where the separator can be part of the value. Set an empty string to turn off quotations.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`\"`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`escape`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Sets a single character used for escaping quotes inside an already quoted value.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`\\\\`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`header`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`boolean`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Use the first line as names of columns.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`inferSchema`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`boolean`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Infers the input schema automatically from data. It requires one extra pass over the data.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`nullValue`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Sets the string representation of a null value.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`dateFormat`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Sets the string that indicates a date format. The `,_jsx(_components.code,{children:`rfc3339`}),` is the only required format, the other format strings are implementation-specific.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`rfc3339`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`timestampFormat`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Sets the string that indicates a timestamp format. The `,_jsx(_components.code,{children:`rfc3339`}),` is the only required format, the other format strings are implementation-specific.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`rfc3339`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`schema`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#dataschema`,children:_jsx(_components.code,{children:`DataSchema`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Schema used to coerce values into more appropriate data types.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/ReadStep.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`readstepjson`,children:_jsx(_components.code,{children:`ReadStep::Json`})}),`\n`,_jsx(_components.p,{children:`Reader for JSON files that contain an array of objects within them.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`subPath`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Path in the form of `,_jsx(_components.code,{children:`a.b.c`}),` to a sub-element of the root JSON object that is an array or objects. If not specified it is assumed that the root element is an array.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`ddlSchema`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`array(string)`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`DEPRECATED: A DDL-formatted schema. Schema can be used to coerce values into more appropriate data types.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`dateFormat`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Sets the string that indicates a date format. The `,_jsx(_components.code,{children:`rfc3339`}),` is the only required format, the other format strings are implementation-specific.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`rfc3339`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`encoding`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Allows to forcibly set one of standard basic or extended encodings.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`utf8`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`timestampFormat`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Sets the string that indicates a timestamp format. The `,_jsx(_components.code,{children:`rfc3339`}),` is the only required format, the other format strings are implementation-specific.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`rfc3339`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`schema`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#dataschema`,children:_jsx(_components.code,{children:`DataSchema`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Schema used to coerce values into more appropriate data types.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/ReadStep.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`readstepndjson`,children:_jsx(_components.code,{children:`ReadStep::NdJson`})}),`\n`,_jsx(_components.p,{children:`Reader for files containing multiple newline-delimited JSON objects with the same schema.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`ddlSchema`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`array(string)`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`DEPRECATED: A DDL-formatted schema. Schema can be used to coerce values into more appropriate data types.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`dateFormat`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Sets the string that indicates a date format. The `,_jsx(_components.code,{children:`rfc3339`}),` is the only required format, the other format strings are implementation-specific.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`rfc3339`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`encoding`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Allows to forcibly set one of standard basic or extended encodings.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`utf8`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`timestampFormat`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Sets the string that indicates a timestamp format. The `,_jsx(_components.code,{children:`rfc3339`}),` is the only required format, the other format strings are implementation-specific.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`rfc3339`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`schema`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#dataschema`,children:_jsx(_components.code,{children:`DataSchema`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Schema used to coerce values into more appropriate data types.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/ReadStep.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`readstepgeojson`,children:_jsx(_components.code,{children:`ReadStep::GeoJson`})}),`\n`,_jsxs(_components.p,{children:[`Reader for GeoJSON files. It expects one `,_jsx(_components.code,{children:`FeatureCollection`}),` object in the root and will create a record per each `,_jsx(_components.code,{children:`Feature`}),` inside it extracting the properties into individual columns and leaving the feature geometry in its own column.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`ddlSchema`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`array(string)`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`DEPRECATED: A DDL-formatted schema. Schema can be used to coerce values into more appropriate data types.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`schema`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#dataschema`,children:_jsx(_components.code,{children:`DataSchema`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Schema used to coerce values into more appropriate data types.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/ReadStep.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`readstepndgeojson`,children:_jsx(_components.code,{children:`ReadStep::NdGeoJson`})}),`\n`,_jsxs(_components.p,{children:[`Reader for Newline-delimited GeoJSON files. It is similar to `,_jsx(_components.code,{children:`GeoJson`}),` format but instead of `,_jsx(_components.code,{children:`FeatureCollection`}),` object in the root it expects every individual feature object to appear on its own line.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`ddlSchema`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`array(string)`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`DEPRECATED: A DDL-formatted schema. Schema can be used to coerce values into more appropriate data types.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`schema`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#dataschema`,children:_jsx(_components.code,{children:`DataSchema`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Schema used to coerce values into more appropriate data types.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/ReadStep.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`readstepesrishapefile`,children:_jsx(_components.code,{children:`ReadStep::EsriShapefile`})}),`\n`,_jsx(_components.p,{children:`Reader for ESRI Shapefile format.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`ddlSchema`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`array(string)`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`DEPRECATED: A DDL-formatted schema. Schema can be used to coerce values into more appropriate data types.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`subPath`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`If the ZIP archive contains multiple shapefiles use this field to specify a sub-path to the desired `,_jsx(_components.code,{children:`.shp`}),` file. Can contain glob patterns to act as a filter.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`schema`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#dataschema`,children:_jsx(_components.code,{children:`DataSchema`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Schema used to coerce values into more appropriate data types.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/ReadStep.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`readstepparquet`,children:_jsx(_components.code,{children:`ReadStep::Parquet`})}),`\n`,_jsx(_components.p,{children:`Reader for Apache Parquet format.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`ddlSchema`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`array(string)`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`DEPRECATED: A DDL-formatted schema. Schema can be used to coerce values into more appropriate data types.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`schema`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#dataschema`,children:_jsx(_components.code,{children:`DataSchema`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Schema used to coerce values into more appropriate data types.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/ReadStep.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`requestheader`,children:_jsx(_components.code,{children:`RequestHeader`})}),`\n`,_jsx(_components.p,{children:`Defines a header (e.g. HTTP) to be passed into some request.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Name of the header.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`value`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Value of the header.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/RequestHeader.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`source`,children:_jsx(_components.code,{children:`Source`})}),`\n`,_jsx(_components.p,{children:`Defines an external source of data for ingestion.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`$schema`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`type-uri`})}),_jsx(_components.td,{children:`Identifies this resource type.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`headers`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceheadersinput`,children:_jsx(_components.code,{children:`ResourceHeadersInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Container for identity and ownership information of a resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`spec`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#sourcespecinput`,children:_jsx(_components.code,{children:`SourceSpecInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Specifies the desired state of the resource.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/Source.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`sourcecaching`,children:_jsx(_components.code,{children:`SourceCaching`})}),`\n`,_jsx(_components.p,{children:`Defines how external data should be cached.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Union Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#sourcecachingforever`,children:_jsx(_components.code,{children:`SourceCaching::Forever`})})}),_jsx(_components.td,{children:`After source was processed once it will never be ingested again.`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/SourceCaching.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`sourcecachingforever`,children:_jsx(_components.code,{children:`SourceCaching::Forever`})}),`\n`,_jsx(_components.p,{children:`After source was processed once it will never be ingested again.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/SourceCaching.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`sourceordering`,children:_jsx(_components.code,{children:`SourceOrdering`})}),`\n`,_jsx(_components.p,{children:`Specifies how input files should be ordered before ingestion.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsx(_components.tr,{children:_jsx(_components.th,{style:{textAlign:`center`},children:`Enum Value`})})}),_jsxs(_components.tbody,{children:[_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`ByEventTime`})})}),_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`ByName`})})})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/SourceOrdering.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`sourcespec`,children:_jsx(_components.code,{children:`SourceSpec`})}),`\n`,_jsx(_components.p,{children:`Specifies an external source of data for ingestion.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`config`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#valuerefs`,children:_jsx(_components.code,{children:`ValueRefs`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Brings the configuration values into the local `,_jsx(_components.code,{children:`config`}),` context.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`ingress`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#ingress`,children:_jsx(_components.code,{children:`Ingress`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Determines where data is sourced from.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prepare`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#prepstep`,children:_jsx(_components.code,{children:`PrepStep`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Defines how raw data is prepared before reading.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`read`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#readstep`,children:_jsx(_components.code,{children:`ReadStep`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Defines how data is read into structured format.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`preprocess`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#transform`,children:_jsx(_components.code,{children:`Transform`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Pre-processing query that shapes the data.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`merge`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#mergestrategy`,children:_jsx(_components.code,{children:`MergeStrategy`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Determines how newly-ingested data should be merged with existing history.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`vocab`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#datasetvocabulary`,children:_jsx(_components.code,{children:`DatasetVocabulary`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Defines the mapping of system fields to dataset column names.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/SourceSpec.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`sourcespecinput`,children:_jsx(_components.code,{children:`SourceSpecInput`})}),`\n`,_jsx(_components.p,{children:`Specifies an external source of data for ingestion.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`config`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#valuerefs`,children:_jsx(_components.code,{children:`ValueRefs`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Brings the configuration values into the local `,_jsx(_components.code,{children:`config`}),` context.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`ingress`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#ingress`,children:_jsx(_components.code,{children:`Ingress`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Determines where data is sourced from.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prepare`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#prepstep`,children:_jsx(_components.code,{children:`PrepStep`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Defines how raw data is prepared before reading.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`read`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#readstep`,children:_jsx(_components.code,{children:`ReadStep`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Defines how data is read into structured format.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`preprocess`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#transform`,children:_jsx(_components.code,{children:`Transform`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Pre-processing query that shapes the data.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`merge`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#mergestrategy`,children:_jsx(_components.code,{children:`MergeStrategy`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Determines how newly-ingested data should be merged with existing history.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`vocab`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#datasetvocabulary`,children:_jsx(_components.code,{children:`DatasetVocabulary`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Defines the mapping of system fields to dataset column names.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/SourceSpecInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`sourcestate`,children:_jsx(_components.code,{children:`SourceState`})}),`\n`,_jsx(_components.p,{children:`The state of the source the data was added from to allow fast resuming.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`sourceName`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Identifies the source that the state corresponds to.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`kind`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Identifies the type of the state. Standard types include: `,_jsx(_components.code,{children:`odf/etag`}),`, `,_jsx(_components.code,{children:`odf/last-modified`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`value`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Opaque value representing the state.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/sources/v1alpha1/SourceState.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`2`,id:`storage`,children:`Storage`}),`\n`,_jsx(Heading,{level:`3`,id:`awscredentials`,children:_jsx(_components.code,{children:`AwsCredentials`})}),`\n`,_jsx(_components.p,{children:`Access credentials for AWS or an AWS-compatible service.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`accessKey`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#valuehandle`,children:_jsx(_components.code,{children:`ValueHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to a secret containing the AWS access key ID.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`secretKey`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#valuehandle`,children:_jsx(_components.code,{children:`ValueHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to a secret containing the AWS secret access key.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/storage/v1alpha1/AwsCredentials.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`awscredentialsinput`,children:_jsx(_components.code,{children:`AwsCredentialsInput`})}),`\n`,_jsx(_components.p,{children:`Access credentials for AWS or an AWS-compatible service.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`accessKey`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#valueref`,children:_jsx(_components.code,{children:`ValueRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to a secret containing the AWS access key ID.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`secretKey`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#valueref`,children:_jsx(_components.code,{children:`ValueRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to a secret containing the AWS secret access key.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/storage/v1alpha1/AwsCredentialsInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`persistentvolume`,children:_jsx(_components.code,{children:`PersistentVolume`})}),`\n`,_jsx(_components.p,{children:`Defines a storage volume where data can be stored and its access credentials.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`$schema`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`type-uri`})}),_jsx(_components.td,{children:`Identifies this resource type.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`headers`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceheadersinput`,children:_jsx(_components.code,{children:`ResourceHeadersInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Container for identity and ownership information of a resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`spec`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#persistentvolumespecinput`,children:_jsx(_components.code,{children:`PersistentVolumeSpecInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Specifies the desired state of the resource.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/storage/v1alpha1/PersistentVolume.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`persistentvolumeref`,children:_jsx(_components.code,{children:`PersistentVolumeRef`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`account`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceownerref`,children:_jsx(_components.code,{children:`ResourceOwnerRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Reference to an account that owns the `,_jsx(_components.code,{children:`PersistentVolume`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`id`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`resource-id`})}),_jsx(_components.td,{children:`ID of the resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`resource-name`})}),_jsx(_components.td,{children:`Name of the resource.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/storage/v1alpha1/PersistentVolumeRef.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`persistentvolumespec`,children:_jsx(_components.code,{children:`PersistentVolumeSpec`})}),`\n`,_jsx(_components.p,{children:`Defines a storage volume where data can be stored and its access credentials.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Union Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#persistentvolumespecs3`,children:_jsx(_components.code,{children:`PersistentVolumeSpec::S3`})})}),_jsx(_components.td,{children:`An Amazon S3 or S3-compatible object storage bucket.`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/storage/v1alpha1/PersistentVolumeSpec.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`persistentvolumespecs3`,children:_jsx(_components.code,{children:`PersistentVolumeSpec::S3`})}),`\n`,_jsx(_components.p,{children:`An Amazon S3 or S3-compatible object storage bucket.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`endpoint`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uri`})}),_jsxs(_components.td,{children:[`S3 endpoint URL. If omitted, defaults to AWS S3. Use for S3-compatible stores e.g. `,_jsx(_components.code,{children:`https://s3.amazonaws.com`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`region`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`AWS region where the bucket is located e.g. `,_jsx(_components.code,{children:`us-west-2`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`bucket`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Name of the S3 bucket.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prefix`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Optional path prefix within the bucket.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`capacity`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#volumecapacity`,children:_jsx(_components.code,{children:`VolumeCapacity`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Storage capacity allocation.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`credentials`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#awscredentials`,children:_jsx(_components.code,{children:`AwsCredentials`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Access credentials for the bucket.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/storage/v1alpha1/PersistentVolumeSpec.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`persistentvolumespecinput`,children:_jsx(_components.code,{children:`PersistentVolumeSpecInput`})}),`\n`,_jsx(_components.p,{children:`Defines a storage volume where data can be stored and its access credentials.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Union Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#persistentvolumespecinputs3`,children:_jsx(_components.code,{children:`PersistentVolumeSpecInput::S3`})})}),_jsx(_components.td,{children:`An Amazon S3 or S3-compatible object storage bucket.`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/storage/v1alpha1/PersistentVolumeSpecInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`persistentvolumespecinputs3`,children:_jsx(_components.code,{children:`PersistentVolumeSpecInput::S3`})}),`\n`,_jsx(_components.p,{children:`An Amazon S3 or S3-compatible object storage bucket.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`endpoint`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uri`})}),_jsxs(_components.td,{children:[`S3 endpoint URL. If omitted, defaults to AWS S3. Use for S3-compatible stores e.g. `,_jsx(_components.code,{children:`https://s3.amazonaws.com`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`region`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`AWS region where the bucket is located e.g. `,_jsx(_components.code,{children:`us-west-2`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`bucket`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Name of the S3 bucket.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prefix`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Optional path prefix within the bucket.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`capacity`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#volumecapacity`,children:_jsx(_components.code,{children:`VolumeCapacity`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Storage capacity allocation.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`credentials`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#awscredentialsinput`,children:_jsx(_components.code,{children:`AwsCredentialsInput`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Access credentials for the bucket.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/storage/v1alpha1/PersistentVolumeSpecInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`volumecapacity`,children:_jsx(_components.code,{children:`VolumeCapacity`})}),`\n`,_jsx(_components.p,{children:`Storage capacity allocation.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`storage`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`byte-size`})}),_jsxs(_components.td,{children:[`Maximum storage size e.g. `,_jsx(_components.code,{children:`10Gi`}),`.`]})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/storage/v1alpha1/VolumeCapacity.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`2`,id:`tasks`,children:`Tasks`}),`\n`,_jsx(Heading,{level:`3`,id:`failurebehavior`,children:_jsx(_components.code,{children:`FailureBehavior`})}),`\n`,_jsxs(_components.p,{children:[`Determines how a flow run proceeds when a task finishes with a `,_jsx(_components.code,{children:`Failed`}),` outcome.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsx(_components.tr,{children:_jsx(_components.th,{style:{textAlign:`center`},children:`Enum Value`})})}),_jsxs(_components.tbody,{children:[_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`Fail`})})}),_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`Continue`})})})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/FailureBehavior.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`noopbehavior`,children:_jsx(_components.code,{children:`NoOpBehavior`})}),`\n`,_jsxs(_components.p,{children:[`Determines how a flow run proceeds when a task finishes with a `,_jsx(_components.code,{children:`NoOp`}),` outcome.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsx(_components.tr,{children:_jsx(_components.th,{style:{textAlign:`center`},children:`Enum Value`})})}),_jsxs(_components.tbody,{children:[_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`Continue`})})}),_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`Break`})})})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/NoOpBehavior.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`syncauth`,children:_jsx(_components.code,{children:`SyncAuth`})}),`\n`,_jsx(_components.p,{children:`Credentials used to access a remote location during a sync.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Union Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#syncauthbearer`,children:_jsx(_components.code,{children:`SyncAuth::Bearer`})})}),_jsx(_components.td,{children:`Authenticates with a bearer token, e.g. an access token of a remote ODF node.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#syncauthaws`,children:_jsx(_components.code,{children:`SyncAuth::Aws`})})}),_jsx(_components.td,{children:`Authenticates with AWS or an AWS-compatible object storage.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#syncauthheaders`,children:_jsx(_components.code,{children:`SyncAuth::Headers`})})}),_jsx(_components.td,{children:`Authenticates by passing custom request headers.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/SyncAuth.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`syncauthbearer`,children:_jsx(_components.code,{children:`SyncAuth::Bearer`})}),`\n`,_jsx(_components.p,{children:`Authenticates with a bearer token, e.g. an access token of a remote ODF node.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`token`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#valuehandle`,children:_jsx(_components.code,{children:`ValueHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to a secret containing the token.`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/SyncAuth.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`syncauthaws`,children:_jsx(_components.code,{children:`SyncAuth::Aws`})}),`\n`,_jsx(_components.p,{children:`Authenticates with AWS or an AWS-compatible object storage.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`endpoint`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uri`})}),_jsx(_components.td,{children:`S3 endpoint URL. If omitted, defaults to AWS S3. Use for S3-compatible stores.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`region`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`AWS region where the bucket is located e.g. `,_jsx(_components.code,{children:`us-west-2`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`accessKey`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#valuehandle`,children:_jsx(_components.code,{children:`ValueHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to a secret containing the AWS access key ID.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`secretKey`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#valuehandle`,children:_jsx(_components.code,{children:`ValueHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to a secret containing the AWS secret access key.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/SyncAuth.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`syncauthheaders`,children:_jsx(_components.code,{children:`SyncAuth::Headers`})}),`\n`,_jsx(_components.p,{children:`Authenticates by passing custom request headers.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`headers`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#syncauthheader`,children:_jsx(_components.code,{children:`SyncAuthHeader`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Headers to pass with every request.`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/SyncAuth.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`syncauthheader`,children:_jsx(_components.code,{children:`SyncAuthHeader`})}),`\n`,_jsxs(_components.p,{children:[`A request header whose value is taken from a `,_jsx(_components.code,{children:`VariableSet`}),` or a `,_jsx(_components.code,{children:`SecretSet`}),`.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Name of the header.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`value`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#valuehandle`,children:_jsx(_components.code,{children:`ValueHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to the value of the header.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/SyncAuthHeader.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`syncauthheaderinput`,children:_jsx(_components.code,{children:`SyncAuthHeaderInput`})}),`\n`,_jsxs(_components.p,{children:[`A request header whose value is taken from a `,_jsx(_components.code,{children:`VariableSet`}),` or a `,_jsx(_components.code,{children:`SecretSet`}),`.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Name of the header.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`value`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#valueref`,children:_jsx(_components.code,{children:`ValueRef`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to the value of the header.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/SyncAuthHeaderInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`syncauthinput`,children:_jsx(_components.code,{children:`SyncAuthInput`})}),`\n`,_jsx(_components.p,{children:`Credentials used to access a remote location during a sync.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Union Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#syncauthinputbearer`,children:_jsx(_components.code,{children:`SyncAuthInput::Bearer`})})}),_jsx(_components.td,{children:`Authenticates with a bearer token, e.g. an access token of a remote ODF node.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#syncauthinputaws`,children:_jsx(_components.code,{children:`SyncAuthInput::Aws`})})}),_jsx(_components.td,{children:`Authenticates with AWS or an AWS-compatible object storage.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#syncauthinputheaders`,children:_jsx(_components.code,{children:`SyncAuthInput::Headers`})})}),_jsx(_components.td,{children:`Authenticates by passing custom request headers.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/SyncAuthInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`syncauthinputbearer`,children:_jsx(_components.code,{children:`SyncAuthInput::Bearer`})}),`\n`,_jsx(_components.p,{children:`Authenticates with a bearer token, e.g. an access token of a remote ODF node.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`token`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#valueref`,children:_jsx(_components.code,{children:`ValueRef`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to a secret containing the token.`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/SyncAuthInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`syncauthinputaws`,children:_jsx(_components.code,{children:`SyncAuthInput::Aws`})}),`\n`,_jsx(_components.p,{children:`Authenticates with AWS or an AWS-compatible object storage.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`endpoint`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uri`})}),_jsx(_components.td,{children:`S3 endpoint URL. If omitted, defaults to AWS S3. Use for S3-compatible stores.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`region`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`AWS region where the bucket is located e.g. `,_jsx(_components.code,{children:`us-west-2`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`accessKey`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#valueref`,children:_jsx(_components.code,{children:`ValueRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to a secret containing the AWS access key ID.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`secretKey`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#valueref`,children:_jsx(_components.code,{children:`ValueRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to a secret containing the AWS secret access key.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/SyncAuthInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`syncauthinputheaders`,children:_jsx(_components.code,{children:`SyncAuthInput::Headers`})}),`\n`,_jsx(_components.p,{children:`Authenticates by passing custom request headers.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`headers`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`array(`}),_jsx(_components.a,{href:`#syncauthheaderinput`,children:_jsx(_components.code,{children:`SyncAuthHeaderInput`})}),_jsx(_components.code,{children:`)`})]}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Headers to pass with every request.`})]})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/SyncAuthInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`syncendpoint`,children:_jsx(_components.code,{children:`SyncEndpoint`})}),`\n`,_jsx(_components.p,{children:`A remote location a dataset is synced with.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`url`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uri`})}),_jsxs(_components.td,{children:[`URL of the remote dataset. The scheme selects the transfer protocol e.g. `,_jsx(_components.code,{children:`odf+https://`}),`, `,_jsx(_components.code,{children:`s3://`}),`, `,_jsx(_components.code,{children:`file://`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`auth`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#syncauth`,children:_jsx(_components.code,{children:`SyncAuth`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Credentials used to access the remote location.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/SyncEndpoint.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`syncendpointinput`,children:_jsx(_components.code,{children:`SyncEndpointInput`})}),`\n`,_jsx(_components.p,{children:`A remote location a dataset is synced with.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`url`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uri`})}),_jsxs(_components.td,{children:[`URL of the remote dataset. The scheme selects the transfer protocol e.g. `,_jsx(_components.code,{children:`odf+https://`}),`, `,_jsx(_components.code,{children:`s3://`}),`, `,_jsx(_components.code,{children:`file://`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`auth`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#syncauthinput`,children:_jsx(_components.code,{children:`SyncAuthInput`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Credentials used to access the remote location.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/SyncEndpointInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`task`,children:_jsx(_components.code,{children:`Task`})}),`\n`,_jsx(_components.p,{children:`An individual work item to be executed.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`$schema`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`type-uri`})}),_jsx(_components.td,{children:`Identifies this resource type.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`headers`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceheadersinput`,children:_jsx(_components.code,{children:`ResourceHeadersInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Container for identity and ownership information of a resource.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`spec`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#taskspecinput`,children:_jsx(_components.code,{children:`TaskSpecInput`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Specifies the desired state of the task.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/Task.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`taskerror`,children:_jsx(_components.code,{children:`TaskError`})}),`\n`,_jsxs(_components.p,{children:[`Type-specific details of a task failure. The `,_jsx(_components.code,{children:`kind`}),` property identifies the error, e.g. `,_jsx(_components.code,{children:`InputDatasetCompacted`}),`, and the remaining properties depend on it.`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.em,{children:`Map of string keys to arbitrary values.`})}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/TaskError.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`taskoutcome`,children:_jsx(_components.code,{children:`TaskOutcome`})}),`\n`,_jsx(_components.p,{children:`Result of the execution of a task.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Union Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#taskoutcomesuccess`,children:_jsx(_components.code,{children:`TaskOutcome::Success`})})}),_jsx(_components.td,{children:`Task completed successfully.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#taskoutcomefailed`,children:_jsx(_components.code,{children:`TaskOutcome::Failed`})})}),_jsx(_components.td,{children:`Task failed.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#taskoutcomenoop`,children:_jsx(_components.code,{children:`TaskOutcome::NoOp`})})}),_jsx(_components.td,{children:`Task completed with no work done (e.g. no new data to process).`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#taskoutcomecancelled`,children:_jsx(_components.code,{children:`TaskOutcome::Cancelled`})})}),_jsx(_components.td,{children:`Task was cancelled before completion.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/TaskOutcome.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`taskoutcomesuccess`,children:_jsx(_components.code,{children:`TaskOutcome::Success`})}),`\n`,_jsx(_components.p,{children:`Task completed successfully.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/TaskOutcome.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`taskoutcomefailed`,children:_jsx(_components.code,{children:`TaskOutcome::Failed`})}),`\n`,_jsx(_components.p,{children:`Task failed.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`message`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Human-readable description of the failure.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`recoverable`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`boolean`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Whether retrying the task could succeed, e.g. after a network error. An unrecoverable failure, such as an invalid query, would fail the same way again.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`error`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#taskerror`,children:_jsx(_components.code,{children:`TaskError`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Type-specific details of the failure.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/TaskOutcome.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`taskoutcomenoop`,children:_jsx(_components.code,{children:`TaskOutcome::NoOp`})}),`\n`,_jsx(_components.p,{children:`Task completed with no work done (e.g. no new data to process).`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/TaskOutcome.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`taskoutcomecancelled`,children:_jsx(_components.code,{children:`TaskOutcome::Cancelled`})}),`\n`,_jsx(_components.p,{children:`Task was cancelled before completion.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/TaskOutcome.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`taskplan`,children:_jsx(_components.code,{children:`TaskPlan`})}),`\n`,_jsx(_components.p,{children:`A self-contained logical execution plan of a task.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.em,{children:`Map of string keys to arbitrary values.`})}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/TaskPlan.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`taskspec`,children:_jsx(_components.code,{children:`TaskSpec`})}),`\n`,_jsx(_components.p,{children:`An individual work item to be executed as part of a flow.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Union Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#taskspecingest`,children:_jsx(_components.code,{children:`TaskSpec::Ingest`})})}),_jsx(_components.td,{children:`Fetches data from a source and appends it to a dataset.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#taskspectransform`,children:_jsx(_components.code,{children:`TaskSpec::Transform`})})}),_jsx(_components.td,{children:`Executes transformation of data defined in a derivative dataset.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#taskspecsyncfrom`,children:_jsx(_components.code,{children:`TaskSpec::SyncFrom`})})}),_jsx(_components.td,{children:`Pulls new blocks from a remote dataset into a local dataset.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#taskspecsyncto`,children:_jsx(_components.code,{children:`TaskSpec::SyncTo`})})}),_jsx(_components.td,{children:`Pushes new blocks of a local dataset to a remote dataset.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#taskspeccompaction`,children:_jsx(_components.code,{children:`TaskSpec::Compaction`})})}),_jsx(_components.td,{children:`Compacts data files in matching datasets to improve query performance.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#taskspecreset`,children:_jsx(_components.code,{children:`TaskSpec::Reset`})})}),_jsx(_components.td,{children:`Moves a block reference of a dataset to an earlier block, discarding the history that follows it.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#taskspecgarbagecollection`,children:_jsx(_components.code,{children:`TaskSpec::GarbageCollection`})})}),_jsx(_components.td,{children:`Removes unreferenced data files from matching datasets.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#taskspecverify`,children:_jsx(_components.code,{children:`TaskSpec::Verify`})})}),_jsx(_components.td,{children:`Checks dataset metadata for integrity.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#taskspecwebhookcall`,children:_jsx(_components.code,{children:`TaskSpec::WebhookCall`})})}),_jsxs(_components.td,{children:[`Dispatches a certain payload to a specific `,_jsx(_components.code,{children:`WebhookEndpoint`}),`.`]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/TaskSpec.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`taskspecingest`,children:_jsx(_components.code,{children:`TaskSpec::Ingest`})}),`\n`,_jsx(_components.p,{children:`Fetches data from a source and appends it to a dataset.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`An alias for the task used to refer to it in flows and access the results`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`target`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#datasethandle`,children:_jsx(_components.code,{children:`DatasetHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to the dataset to ingest into. Defaults to the flow-level target when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`serviceAccount`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#principalhandle`,children:_jsx(_components.code,{children:`PrincipalHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onNoOp`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#noopbehavior`,children:_jsx(_components.code,{children:`NoOpBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`NoOp`}),` outcome: `,_jsx(_components.code,{children:`Continue`}),` executes the next task, while `,_jsx(_components.code,{children:`Break`}),` finishes the flow run early without an error.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Continue`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onFailure`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#failurebehavior`,children:_jsx(_components.code,{children:`FailureBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`Failed`}),` outcome: `,_jsx(_components.code,{children:`Fail`}),` finishes the flow run with an error, while `,_jsx(_components.code,{children:`Continue`}),` executes the next task.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Fail`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`source`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourcehandle`,children:_jsx(_components.code,{children:`ResourceHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to the source resource that defines how to fetch data.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`targetRecordsPerSlice`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsx(_components.td,{children:`Target number of records to ingest per data slice.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/TaskSpec.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`taskspectransform`,children:_jsx(_components.code,{children:`TaskSpec::Transform`})}),`\n`,_jsx(_components.p,{children:`Executes transformation of data defined in a derivative dataset.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`An alias for the task used to refer to it in flows and access the results`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`target`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#datasethandle`,children:_jsx(_components.code,{children:`DatasetHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to the derivative dataset that defines how to transform data.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`serviceAccount`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#principalhandle`,children:_jsx(_components.code,{children:`PrincipalHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onNoOp`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#noopbehavior`,children:_jsx(_components.code,{children:`NoOpBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`NoOp`}),` outcome: `,_jsx(_components.code,{children:`Continue`}),` executes the next task, while `,_jsx(_components.code,{children:`Break`}),` finishes the flow run early without an error.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Continue`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onFailure`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#failurebehavior`,children:_jsx(_components.code,{children:`FailureBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`Failed`}),` outcome: `,_jsx(_components.code,{children:`Fail`}),` finishes the flow run with an error, while `,_jsx(_components.code,{children:`Continue`}),` executes the next task.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Fail`})]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/TaskSpec.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`taskspecsyncfrom`,children:_jsx(_components.code,{children:`TaskSpec::SyncFrom`})}),`\n`,_jsx(_components.p,{children:`Pulls new blocks from a remote dataset into a local dataset.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`An alias for the task used to refer to it in flows and access the results`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`target`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#datasethandle`,children:_jsx(_components.code,{children:`DatasetHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to the local dataset to pull into. Defaults to the flow-level target when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`serviceAccount`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#principalhandle`,children:_jsx(_components.code,{children:`PrincipalHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onNoOp`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#noopbehavior`,children:_jsx(_components.code,{children:`NoOpBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`NoOp`}),` outcome: `,_jsx(_components.code,{children:`Continue`}),` executes the next task, while `,_jsx(_components.code,{children:`Break`}),` finishes the flow run early without an error.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Continue`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onFailure`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#failurebehavior`,children:_jsx(_components.code,{children:`FailureBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`Failed`}),` outcome: `,_jsx(_components.code,{children:`Fail`}),` finishes the flow run with an error, while `,_jsx(_components.code,{children:`Continue`}),` executes the next task.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Fail`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`source`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#syncendpoint`,children:_jsx(_components.code,{children:`SyncEndpoint`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Remote dataset to pull from.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`force`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`boolean`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Overwrite the local dataset even if its history has diverged from the source.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/TaskSpec.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`taskspecsyncto`,children:_jsx(_components.code,{children:`TaskSpec::SyncTo`})}),`\n`,_jsx(_components.p,{children:`Pushes new blocks of a local dataset to a remote dataset.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`An alias for the task used to refer to it in flows and access the results`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`target`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#datasethandle`,children:_jsx(_components.code,{children:`DatasetHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to the local dataset to push. Defaults to the flow-level target when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`serviceAccount`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#principalhandle`,children:_jsx(_components.code,{children:`PrincipalHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onNoOp`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#noopbehavior`,children:_jsx(_components.code,{children:`NoOpBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`NoOp`}),` outcome: `,_jsx(_components.code,{children:`Continue`}),` executes the next task, while `,_jsx(_components.code,{children:`Break`}),` finishes the flow run early without an error.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Continue`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onFailure`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#failurebehavior`,children:_jsx(_components.code,{children:`FailureBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`Failed`}),` outcome: `,_jsx(_components.code,{children:`Fail`}),` finishes the flow run with an error, while `,_jsx(_components.code,{children:`Continue`}),` executes the next task.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Fail`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`destination`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#syncendpoint`,children:_jsx(_components.code,{children:`SyncEndpoint`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Remote dataset to push to.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`force`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`boolean`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Overwrite the remote dataset even if its history has diverged from the local one.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`createIfNotExists`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`boolean`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Create the remote dataset if it does not exist.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`True`})]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/TaskSpec.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`taskspeccompaction`,children:_jsx(_components.code,{children:`TaskSpec::Compaction`})}),`\n`,_jsx(_components.p,{children:`Compacts data files in matching datasets to improve query performance.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`An alias for the task used to refer to it in flows and access the results`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`target`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#datasethandle`,children:_jsx(_components.code,{children:`DatasetHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to the dataset to compact. Defaults to the flow-level target when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`serviceAccount`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#principalhandle`,children:_jsx(_components.code,{children:`PrincipalHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onNoOp`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#noopbehavior`,children:_jsx(_components.code,{children:`NoOpBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`NoOp`}),` outcome: `,_jsx(_components.code,{children:`Continue`}),` executes the next task, while `,_jsx(_components.code,{children:`Break`}),` finishes the flow run early without an error.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Continue`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onFailure`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#failurebehavior`,children:_jsx(_components.code,{children:`FailureBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`Failed`}),` outcome: `,_jsx(_components.code,{children:`Fail`}),` finishes the flow run with an error, while `,_jsx(_components.code,{children:`Continue`}),` executes the next task.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Fail`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`maxSliceSize`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`byte-size`})}),_jsxs(_components.td,{children:[`Target maximum size of each compacted data slice e.g. `,_jsx(_components.code,{children:`100MiB`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`maxSliceRecords`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsx(_components.td,{children:`Target maximum number of records per compacted data slice.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/TaskSpec.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`taskspecreset`,children:_jsx(_components.code,{children:`TaskSpec::Reset`})}),`\n`,_jsx(_components.p,{children:`Moves a block reference of a dataset to an earlier block, discarding the history that follows it.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`An alias for the task used to refer to it in flows and access the results`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`target`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#datasethandle`,children:_jsx(_components.code,{children:`DatasetHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to the dataset to reset. Defaults to the flow-level target when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`serviceAccount`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#principalhandle`,children:_jsx(_components.code,{children:`PrincipalHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onNoOp`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#noopbehavior`,children:_jsx(_components.code,{children:`NoOpBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`NoOp`}),` outcome: `,_jsx(_components.code,{children:`Continue`}),` executes the next task, while `,_jsx(_components.code,{children:`Break`}),` finishes the flow run early without an error.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Continue`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onFailure`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#failurebehavior`,children:_jsx(_components.code,{children:`FailureBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`Failed`}),` outcome: `,_jsx(_components.code,{children:`Fail`}),` finishes the flow run with an error, while `,_jsx(_components.code,{children:`Continue`}),` executes the next task.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Fail`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`ref`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Name of the block reference to reset.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`head`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`newBlockHash`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.a,{href:`https://github.com/multiformats/multihash`,children:_jsx(_components.code,{children:`multihash`})})}),_jsxs(_components.td,{children:[`Hash of the block the reference will point to. Defaults to the `,_jsx(_components.code,{children:`Seed`}),` block when omitted.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`oldBlockHash`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.a,{href:`https://github.com/multiformats/multihash`,children:_jsx(_components.code,{children:`multihash`})})}),_jsx(_components.td,{children:`Expected hash of the block the reference currently points to. When specified, the task fails if the reference has moved, protecting against concurrent updates.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/TaskSpec.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`taskspecgarbagecollection`,children:_jsx(_components.code,{children:`TaskSpec::GarbageCollection`})}),`\n`,_jsx(_components.p,{children:`Removes unreferenced data files from matching datasets.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`An alias for the task used to refer to it in flows and access the results`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`target`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#datasethandle`,children:_jsx(_components.code,{children:`DatasetHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to the dataset to collect garbage from. Defaults to the flow-level target when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`serviceAccount`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#principalhandle`,children:_jsx(_components.code,{children:`PrincipalHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onNoOp`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#noopbehavior`,children:_jsx(_components.code,{children:`NoOpBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`NoOp`}),` outcome: `,_jsx(_components.code,{children:`Continue`}),` executes the next task, while `,_jsx(_components.code,{children:`Break`}),` finishes the flow run early without an error.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Continue`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onFailure`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#failurebehavior`,children:_jsx(_components.code,{children:`FailureBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`Failed`}),` outcome: `,_jsx(_components.code,{children:`Fail`}),` finishes the flow run with an error, while `,_jsx(_components.code,{children:`Continue`}),` executes the next task.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Fail`})]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/TaskSpec.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`taskspecverify`,children:_jsx(_components.code,{children:`TaskSpec::Verify`})}),`\n`,_jsx(_components.p,{children:`Checks dataset metadata for integrity.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`An alias for the task used to refer to it in flows and access the results`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`target`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#datasethandle`,children:_jsx(_components.code,{children:`DatasetHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to the dataset to verify. Defaults to the flow-level target when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`serviceAccount`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#principalhandle`,children:_jsx(_components.code,{children:`PrincipalHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onNoOp`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#noopbehavior`,children:_jsx(_components.code,{children:`NoOpBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`NoOp`}),` outcome: `,_jsx(_components.code,{children:`Continue`}),` executes the next task, while `,_jsx(_components.code,{children:`Break`}),` finishes the flow run early without an error.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Continue`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onFailure`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#failurebehavior`,children:_jsx(_components.code,{children:`FailureBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`Failed`}),` outcome: `,_jsx(_components.code,{children:`Fail`}),` finishes the flow run with an error, while `,_jsx(_components.code,{children:`Continue`}),` executes the next task.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Fail`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`replayTransform`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`boolean`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`If true, re-executes transformations on derivative datasets to verify reproducibility.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/TaskSpec.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`taskspecwebhookcall`,children:_jsx(_components.code,{children:`TaskSpec::WebhookCall`})}),`\n`,_jsxs(_components.p,{children:[`Dispatches a certain payload to a specific `,_jsx(_components.code,{children:`WebhookEndpoint`}),`.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`An alias for the task used to refer to it in flows and access the results`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`serviceAccount`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#principalhandle`,children:_jsx(_components.code,{children:`PrincipalHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onNoOp`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#noopbehavior`,children:_jsx(_components.code,{children:`NoOpBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`NoOp`}),` outcome: `,_jsx(_components.code,{children:`Continue`}),` executes the next task, while `,_jsx(_components.code,{children:`Break`}),` finishes the flow run early without an error.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Continue`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onFailure`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#failurebehavior`,children:_jsx(_components.code,{children:`FailureBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`Failed`}),` outcome: `,_jsx(_components.code,{children:`Fail`}),` finishes the flow run with an error, while `,_jsx(_components.code,{children:`Continue`}),` executes the next task.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Fail`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`endpoint`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourcehandle`,children:_jsx(_components.code,{children:`ResourceHandle`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Reference to the `,_jsx(_components.code,{children:`WebhookEndpoint`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`payload`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`The payload to send. May include templating.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`retryPolicy`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#retrypolicy`,children:_jsx(_components.code,{children:`RetryPolicy`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Defines how a webhook should react to failures.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/TaskSpec.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`taskspecinput`,children:_jsx(_components.code,{children:`TaskSpecInput`})}),`\n`,_jsx(_components.p,{children:`An individual work item to be executed as part of a flow.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Union Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#taskspecinputingest`,children:_jsx(_components.code,{children:`TaskSpecInput::Ingest`})})}),_jsx(_components.td,{children:`Fetches data from a source and appends it to a dataset.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#taskspecinputtransform`,children:_jsx(_components.code,{children:`TaskSpecInput::Transform`})})}),_jsx(_components.td,{children:`Executes transformation of data defined in a derivative dataset.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#taskspecinputsyncfrom`,children:_jsx(_components.code,{children:`TaskSpecInput::SyncFrom`})})}),_jsx(_components.td,{children:`Pulls new blocks from a remote dataset into a local dataset.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#taskspecinputsyncto`,children:_jsx(_components.code,{children:`TaskSpecInput::SyncTo`})})}),_jsx(_components.td,{children:`Pushes new blocks of a local dataset to a remote dataset.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#taskspecinputcompaction`,children:_jsx(_components.code,{children:`TaskSpecInput::Compaction`})})}),_jsx(_components.td,{children:`Compacts data files in matching datasets to improve query performance.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#taskspecinputreset`,children:_jsx(_components.code,{children:`TaskSpecInput::Reset`})})}),_jsx(_components.td,{children:`Moves a block reference of a dataset to an earlier block, discarding the history that follows it.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#taskspecinputgarbagecollection`,children:_jsx(_components.code,{children:`TaskSpecInput::GarbageCollection`})})}),_jsx(_components.td,{children:`Removes unreferenced data files from matching datasets.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#taskspecinputverify`,children:_jsx(_components.code,{children:`TaskSpecInput::Verify`})})}),_jsx(_components.td,{children:`Checks dataset metadata for integrity.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#taskspecinputwebhookcall`,children:_jsx(_components.code,{children:`TaskSpecInput::WebhookCall`})})}),_jsxs(_components.td,{children:[`Dispatches a certain payload to a specific `,_jsx(_components.code,{children:`WebhookEndpoint`}),`.`]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/TaskSpecInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`taskspecinputingest`,children:_jsx(_components.code,{children:`TaskSpecInput::Ingest`})}),`\n`,_jsx(_components.p,{children:`Fetches data from a source and appends it to a dataset.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`An alias for the task used to refer to it in flows and access the results`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`target`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#datasetref`,children:_jsx(_components.code,{children:`DatasetRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to the dataset to ingest into. Defaults to the flow-level target when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`serviceAccount`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#principalref`,children:_jsx(_components.code,{children:`PrincipalRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onNoOp`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#noopbehavior`,children:_jsx(_components.code,{children:`NoOpBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`NoOp`}),` outcome: `,_jsx(_components.code,{children:`Continue`}),` executes the next task, while `,_jsx(_components.code,{children:`Break`}),` finishes the flow run early without an error.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Continue`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onFailure`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#failurebehavior`,children:_jsx(_components.code,{children:`FailureBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`Failed`}),` outcome: `,_jsx(_components.code,{children:`Fail`}),` finishes the flow run with an error, while `,_jsx(_components.code,{children:`Continue`}),` executes the next task.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Fail`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`source`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceref`,children:_jsx(_components.code,{children:`ResourceRef`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to the source resource that defines how to fetch data.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`targetRecordsPerSlice`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsx(_components.td,{children:`Target number of records to ingest per data slice.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/TaskSpecInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`taskspecinputtransform`,children:_jsx(_components.code,{children:`TaskSpecInput::Transform`})}),`\n`,_jsx(_components.p,{children:`Executes transformation of data defined in a derivative dataset.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`An alias for the task used to refer to it in flows and access the results`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`target`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#datasetref`,children:_jsx(_components.code,{children:`DatasetRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to the derivative dataset that defines how to transform data.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`serviceAccount`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#principalref`,children:_jsx(_components.code,{children:`PrincipalRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onNoOp`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#noopbehavior`,children:_jsx(_components.code,{children:`NoOpBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`NoOp`}),` outcome: `,_jsx(_components.code,{children:`Continue`}),` executes the next task, while `,_jsx(_components.code,{children:`Break`}),` finishes the flow run early without an error.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Continue`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onFailure`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#failurebehavior`,children:_jsx(_components.code,{children:`FailureBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`Failed`}),` outcome: `,_jsx(_components.code,{children:`Fail`}),` finishes the flow run with an error, while `,_jsx(_components.code,{children:`Continue`}),` executes the next task.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Fail`})]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/TaskSpecInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`taskspecinputsyncfrom`,children:_jsx(_components.code,{children:`TaskSpecInput::SyncFrom`})}),`\n`,_jsx(_components.p,{children:`Pulls new blocks from a remote dataset into a local dataset.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`An alias for the task used to refer to it in flows and access the results`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`target`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#datasetref`,children:_jsx(_components.code,{children:`DatasetRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to the local dataset to pull into. Defaults to the flow-level target when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`serviceAccount`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#principalref`,children:_jsx(_components.code,{children:`PrincipalRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onNoOp`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#noopbehavior`,children:_jsx(_components.code,{children:`NoOpBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`NoOp`}),` outcome: `,_jsx(_components.code,{children:`Continue`}),` executes the next task, while `,_jsx(_components.code,{children:`Break`}),` finishes the flow run early without an error.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Continue`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onFailure`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#failurebehavior`,children:_jsx(_components.code,{children:`FailureBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`Failed`}),` outcome: `,_jsx(_components.code,{children:`Fail`}),` finishes the flow run with an error, while `,_jsx(_components.code,{children:`Continue`}),` executes the next task.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Fail`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`source`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#syncendpointinput`,children:_jsx(_components.code,{children:`SyncEndpointInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Remote dataset to pull from.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`force`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`boolean`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Overwrite the local dataset even if its history has diverged from the source.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/TaskSpecInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`taskspecinputsyncto`,children:_jsx(_components.code,{children:`TaskSpecInput::SyncTo`})}),`\n`,_jsx(_components.p,{children:`Pushes new blocks of a local dataset to a remote dataset.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`An alias for the task used to refer to it in flows and access the results`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`target`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#datasetref`,children:_jsx(_components.code,{children:`DatasetRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to the local dataset to push. Defaults to the flow-level target when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`serviceAccount`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#principalref`,children:_jsx(_components.code,{children:`PrincipalRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onNoOp`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#noopbehavior`,children:_jsx(_components.code,{children:`NoOpBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`NoOp`}),` outcome: `,_jsx(_components.code,{children:`Continue`}),` executes the next task, while `,_jsx(_components.code,{children:`Break`}),` finishes the flow run early without an error.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Continue`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onFailure`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#failurebehavior`,children:_jsx(_components.code,{children:`FailureBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`Failed`}),` outcome: `,_jsx(_components.code,{children:`Fail`}),` finishes the flow run with an error, while `,_jsx(_components.code,{children:`Continue`}),` executes the next task.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Fail`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`destination`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#syncendpointinput`,children:_jsx(_components.code,{children:`SyncEndpointInput`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Remote dataset to push to.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`force`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`boolean`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Overwrite the remote dataset even if its history has diverged from the local one.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`createIfNotExists`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`boolean`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Create the remote dataset if it does not exist.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`True`})]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/TaskSpecInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`taskspecinputcompaction`,children:_jsx(_components.code,{children:`TaskSpecInput::Compaction`})}),`\n`,_jsx(_components.p,{children:`Compacts data files in matching datasets to improve query performance.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`An alias for the task used to refer to it in flows and access the results`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`target`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#datasetref`,children:_jsx(_components.code,{children:`DatasetRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to the dataset to compact. Defaults to the flow-level target when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`serviceAccount`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#principalref`,children:_jsx(_components.code,{children:`PrincipalRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onNoOp`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#noopbehavior`,children:_jsx(_components.code,{children:`NoOpBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`NoOp`}),` outcome: `,_jsx(_components.code,{children:`Continue`}),` executes the next task, while `,_jsx(_components.code,{children:`Break`}),` finishes the flow run early without an error.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Continue`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onFailure`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#failurebehavior`,children:_jsx(_components.code,{children:`FailureBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`Failed`}),` outcome: `,_jsx(_components.code,{children:`Fail`}),` finishes the flow run with an error, while `,_jsx(_components.code,{children:`Continue`}),` executes the next task.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Fail`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`maxSliceSize`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`byte-size`})}),_jsxs(_components.td,{children:[`Target maximum size of each compacted data slice e.g. `,_jsx(_components.code,{children:`100MiB`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`maxSliceRecords`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`integer`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`uint64`})}),_jsx(_components.td,{children:`Target maximum number of records per compacted data slice.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/TaskSpecInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`taskspecinputreset`,children:_jsx(_components.code,{children:`TaskSpecInput::Reset`})}),`\n`,_jsx(_components.p,{children:`Moves a block reference of a dataset to an earlier block, discarding the history that follows it.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`An alias for the task used to refer to it in flows and access the results`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`target`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#datasetref`,children:_jsx(_components.code,{children:`DatasetRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to the dataset to reset. Defaults to the flow-level target when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`serviceAccount`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#principalref`,children:_jsx(_components.code,{children:`PrincipalRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onNoOp`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#noopbehavior`,children:_jsx(_components.code,{children:`NoOpBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`NoOp`}),` outcome: `,_jsx(_components.code,{children:`Continue`}),` executes the next task, while `,_jsx(_components.code,{children:`Break`}),` finishes the flow run early without an error.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Continue`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onFailure`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#failurebehavior`,children:_jsx(_components.code,{children:`FailureBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`Failed`}),` outcome: `,_jsx(_components.code,{children:`Fail`}),` finishes the flow run with an error, while `,_jsx(_components.code,{children:`Continue`}),` executes the next task.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Fail`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`ref`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Name of the block reference to reset.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`head`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`newBlockHash`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.a,{href:`https://github.com/multiformats/multihash`,children:_jsx(_components.code,{children:`multihash`})})}),_jsxs(_components.td,{children:[`Hash of the block the reference will point to. Defaults to the `,_jsx(_components.code,{children:`Seed`}),` block when omitted.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`oldBlockHash`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.a,{href:`https://github.com/multiformats/multihash`,children:_jsx(_components.code,{children:`multihash`})})}),_jsx(_components.td,{children:`Expected hash of the block the reference currently points to. When specified, the task fails if the reference has moved, protecting against concurrent updates.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/TaskSpecInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`taskspecinputgarbagecollection`,children:_jsx(_components.code,{children:`TaskSpecInput::GarbageCollection`})}),`\n`,_jsx(_components.p,{children:`Removes unreferenced data files from matching datasets.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`An alias for the task used to refer to it in flows and access the results`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`target`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#datasetref`,children:_jsx(_components.code,{children:`DatasetRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to the dataset to collect garbage from. Defaults to the flow-level target when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`serviceAccount`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#principalref`,children:_jsx(_components.code,{children:`PrincipalRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onNoOp`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#noopbehavior`,children:_jsx(_components.code,{children:`NoOpBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`NoOp`}),` outcome: `,_jsx(_components.code,{children:`Continue`}),` executes the next task, while `,_jsx(_components.code,{children:`Break`}),` finishes the flow run early without an error.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Continue`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onFailure`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#failurebehavior`,children:_jsx(_components.code,{children:`FailureBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`Failed`}),` outcome: `,_jsx(_components.code,{children:`Fail`}),` finishes the flow run with an error, while `,_jsx(_components.code,{children:`Continue`}),` executes the next task.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Fail`})]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/TaskSpecInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`taskspecinputverify`,children:_jsx(_components.code,{children:`TaskSpecInput::Verify`})}),`\n`,_jsx(_components.p,{children:`Checks dataset metadata for integrity.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`An alias for the task used to refer to it in flows and access the results`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`target`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#datasetref`,children:_jsx(_components.code,{children:`DatasetRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Reference to the dataset to verify. Defaults to the flow-level target when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`serviceAccount`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#principalref`,children:_jsx(_components.code,{children:`PrincipalRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onNoOp`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#noopbehavior`,children:_jsx(_components.code,{children:`NoOpBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`NoOp`}),` outcome: `,_jsx(_components.code,{children:`Continue`}),` executes the next task, while `,_jsx(_components.code,{children:`Break`}),` finishes the flow run early without an error.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Continue`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onFailure`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#failurebehavior`,children:_jsx(_components.code,{children:`FailureBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`Failed`}),` outcome: `,_jsx(_components.code,{children:`Fail`}),` finishes the flow run with an error, while `,_jsx(_components.code,{children:`Continue`}),` executes the next task.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Fail`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`replayTransform`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`boolean`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`If true, re-executes transformations on derivative datasets to verify reproducibility.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/TaskSpecInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`taskspecinputwebhookcall`,children:_jsx(_components.code,{children:`TaskSpecInput::WebhookCall`})}),`\n`,_jsxs(_components.p,{children:[`Dispatches a certain payload to a specific `,_jsx(_components.code,{children:`WebhookEndpoint`}),`.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Required`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Format`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`An alias for the task used to refer to it in flows and access the results`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`serviceAccount`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#principalref`,children:_jsx(_components.code,{children:`PrincipalRef`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Service account whose permissions the task executes with. Must be an account of service account type. Defaults to the service account of the run when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onNoOp`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#noopbehavior`,children:_jsx(_components.code,{children:`NoOpBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`NoOp`}),` outcome: `,_jsx(_components.code,{children:`Continue`}),` executes the next task, while `,_jsx(_components.code,{children:`Break`}),` finishes the flow run early without an error.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Continue`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`onFailure`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#failurebehavior`,children:_jsx(_components.code,{children:`FailureBehavior`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`How the flow run proceeds when this task finishes with a `,_jsx(_components.code,{children:`Failed`}),` outcome: `,_jsx(_components.code,{children:`Fail`}),` finishes the flow run with an error, while `,_jsx(_components.code,{children:`Continue`}),` executes the next task.`,_jsx(`br`,{}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Fail`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`endpoint`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#resourceref`,children:_jsx(_components.code,{children:`ResourceRef`})})}),_jsx(_components.td,{style:{textAlign:`center`},children:`✔️`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsxs(_components.td,{children:[`Reference to the `,_jsx(_components.code,{children:`WebhookEndpoint`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`payload`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`The payload to send. May include templating.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`retryPolicy`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#retrypolicy`,children:_jsx(_components.code,{children:`RetryPolicy`})})}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{children:`Defines how a webhook should react to failures.`})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/TaskSpecInput.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})}),`\n`,_jsx(Heading,{level:`3`,id:`taskstatus`,children:_jsx(_components.code,{children:`TaskStatus`})}),`\n`,_jsx(_components.p,{children:`Execution phase of a task.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsx(_components.tr,{children:_jsx(_components.th,{style:{textAlign:`center`},children:`Enum Value`})})}),_jsxs(_components.tbody,{children:[_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`Pending`})})}),_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`Queued`})})}),_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`Running`})})}),_jsx(_components.tr,{children:_jsx(_components.td,{style:{textAlign:`center`},children:_jsx(_components.code,{children:`Finished`})})})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/open-data-fabric/open-data-fabric/blob/master/schemas/tasks/v1alpha1/TaskStatus.json`,children:_jsx(_components.img,{src:`https://img.shields.io/badge/schema-JSON-orange`,alt:`JSON Schema`})})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{YouTubeList,YouTube,Schema,Term,Diagram,default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Schemas","description":"Schemas of common metadata objects","href":"/odf/schemas"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[147,1427,")=>null;const YouTube=()=>null;const Schema=()=>null;const Term=()=>null;const Diagram=()=>null;func"]]},"mdxExtracts":{"tableOfContents":[{"title":"Auth","slug":"auth","depth":2,"children":[{"title":"Group","slug":"group","depth":3,"children":[]},{"title":"GroupSpec","slug":"groupspec","depth":3,"children":[]},{"title":"GroupSpecInput","slug":"groupspecinput","depth":3,"children":[]},{"title":"Node","slug":"node","depth":3,"children":[]},{"title":"NodeSpec","slug":"nodespec","depth":3,"children":[]},{"title":"NodeSpecInput","slug":"nodespecinput","depth":3,"children":[]},{"title":"Organization","slug":"organization","depth":3,"children":[]},{"title":"OrganizationSpec","slug":"organizationspec","depth":3,"children":[]},{"title":"OrganizationSpecInput","slug":"organizationspecinput","depth":3,"children":[]},{"title":"Policy","slug":"policy","depth":3,"children":[]},{"title":"PolicyBinding","slug":"policybinding","depth":3,"children":[]},{"title":"PolicyBindingSpec","slug":"policybindingspec","depth":3,"children":[]},{"title":"PolicyBindingSpecInput","slug":"policybindingspecinput","depth":3,"children":[]},{"title":"PolicyRef","slug":"policyref","depth":3,"children":[]},{"title":"PolicySpec","slug":"policyspec","depth":3,"children":[]},{"title":"PolicySpec::Generic","slug":"policyspecgeneric","depth":3,"children":[]},{"title":"PolicySpec::Cedar","slug":"policyspeccedar","depth":3,"children":[]},{"title":"PolicySpecInput","slug":"policyspecinput","depth":3,"children":[]},{"title":"PolicySpecInput::Generic","slug":"policyspecinputgeneric","depth":3,"children":[]},{"title":"PolicySpecInput::Cedar","slug":"policyspecinputcedar","depth":3,"children":[]},{"title":"PrincipalHandle","slug":"principalhandle","depth":3,"children":[]},{"title":"PrincipalRef","slug":"principalref","depth":3,"children":[]},{"title":"ResourceOwnerHandle","slug":"resourceownerhandle","depth":3,"children":[]},{"title":"ResourceOwnerRef","slug":"resourceownerref","depth":3,"children":[]},{"title":"ServiceAccount","slug":"serviceaccount","depth":3,"children":[]},{"title":"ServiceAccountSpec","slug":"serviceaccountspec","depth":3,"children":[]},{"title":"ServiceAccountSpecInput","slug":"serviceaccountspecinput","depth":3,"children":[]},{"title":"SubjectHandle","slug":"subjecthandle","depth":3,"children":[]},{"title":"SubjectHandle::Resource","slug":"subjecthandleresource","depth":3,"children":[]},{"title":"SubjectHandle::Authenticated","slug":"subjecthandleauthenticated","depth":3,"children":[]},{"title":"SubjectHandle::Anonymous","slug":"subjecthandleanonymous","depth":3,"children":[]},{"title":"SubjectHandle::Everyone","slug":"subjecthandleeveryone","depth":3,"children":[]},{"title":"SubjectRef","slug":"subjectref","depth":3,"children":[]},{"title":"SubjectRef::Resource","slug":"subjectrefresource","depth":3,"children":[]},{"title":"SubjectRef::Authenticated","slug":"subjectrefauthenticated","depth":3,"children":[]},{"title":"SubjectRef::Anonymous","slug":"subjectrefanonymous","depth":3,"children":[]},{"title":"SubjectRef::Everyone","slug":"subjectrefeveryone","depth":3,"children":[]},{"title":"User","slug":"user","depth":3,"children":[]},{"title":"UserSpec","slug":"userspec","depth":3,"children":[]},{"title":"UserSpecInput","slug":"userspecinput","depth":3,"children":[]},{"title":"BindPolicy","slug":"bindpolicy","depth":3,"children":[]}]},{"title":"Config","slug":"config","depth":2,"children":[{"title":"Secret","slug":"secret","depth":3,"children":[]},{"title":"SecretSet","slug":"secretset","depth":3,"children":[]},{"title":"SecretSetSpec","slug":"secretsetspec","depth":3,"children":[]},{"title":"SecretSetSpecInput","slug":"secretsetspecinput","depth":3,"children":[]},{"title":"Secrets","slug":"secrets","depth":3,"children":[]},{"title":"ValueHandle","slug":"valuehandle","depth":3,"children":[]},{"title":"ValueRef","slug":"valueref","depth":3,"children":[]},{"title":"ValueRefs","slug":"valuerefs","depth":3,"children":[]},{"title":"Variable","slug":"variable","depth":3,"children":[]},{"title":"VariableSet","slug":"variableset","depth":3,"children":[]},{"title":"VariableSetSpec","slug":"variablesetspec","depth":3,"children":[]},{"title":"VariableSetSpecInput","slug":"variablesetspecinput","depth":3,"children":[]},{"title":"Variables","slug":"variables","depth":3,"children":[]},{"title":"Decrypt","slug":"decrypt","depth":3,"children":[]}]},{"title":"Data","slug":"data","depth":2,"children":[{"title":"DataField","slug":"datafield","depth":3,"children":[]},{"title":"DataSchema","slug":"dataschema","depth":3,"children":[]},{"title":"DataType","slug":"datatype","depth":3,"children":[]},{"title":"DataType::Binary","slug":"datatypebinary","depth":3,"children":[]},{"title":"DataType::Bool","slug":"datatypebool","depth":3,"children":[]},{"title":"DataType::Date","slug":"datatypedate","depth":3,"children":[]},{"title":"DataType::Decimal","slug":"datatypedecimal","depth":3,"children":[]},{"title":"DataType::Duration","slug":"datatypeduration","depth":3,"children":[]},{"title":"DataType::Float16","slug":"datatypefloat16","depth":3,"children":[]},{"title":"DataType::Float32","slug":"datatypefloat32","depth":3,"children":[]},{"title":"DataType::Float64","slug":"datatypefloat64","depth":3,"children":[]},{"title":"DataType::Int8","slug":"datatypeint8","depth":3,"children":[]},{"title":"DataType::Int16","slug":"datatypeint16","depth":3,"children":[]},{"title":"DataType::Int32","slug":"datatypeint32","depth":3,"children":[]},{"title":"DataType::Int64","slug":"datatypeint64","depth":3,"children":[]},{"title":"DataType::UInt8","slug":"datatypeuint8","depth":3,"children":[]},{"title":"DataType::UInt16","slug":"datatypeuint16","depth":3,"children":[]},{"title":"DataType::UInt32","slug":"datatypeuint32","depth":3,"children":[]},{"title":"DataType::UInt64","slug":"datatypeuint64","depth":3,"children":[]},{"title":"DataType::List","slug":"datatypelist","depth":3,"children":[]},{"title":"DataType::Map","slug":"datatypemap","depth":3,"children":[]},{"title":"DataType::Null","slug":"datatypenull","depth":3,"children":[]},{"title":"DataType::Option","slug":"datatypeoption","depth":3,"children":[]},{"title":"DataType::Struct","slug":"datatypestruct","depth":3,"children":[]},{"title":"DataType::Time","slug":"datatypetime","depth":3,"children":[]},{"title":"DataType::Timestamp","slug":"datatypetimestamp","depth":3,"children":[]},{"title":"DataType::String","slug":"datatypestring","depth":3,"children":[]},{"title":"ExtraAttributes","slug":"extraattributes","depth":3,"children":[]},{"title":"OperationType","slug":"operationtype","depth":3,"children":[]},{"title":"TimeUnit","slug":"timeunit","depth":3,"children":[]}]},{"title":"Datasets","slug":"datasets","depth":2,"children":[{"title":"AddData","slug":"adddata","depth":3,"children":[]},{"title":"AllowAnonymousRead","slug":"allowanonymousread","depth":3,"children":[]},{"title":"AllowPublicRead","slug":"allowpublicread","depth":3,"children":[]},{"title":"AttachmentEmbedded","slug":"attachmentembedded","depth":3,"children":[]},{"title":"Attachments","slug":"attachments","depth":3,"children":[]},{"title":"Attachments::Embedded","slug":"attachmentsembedded","depth":3,"children":[]},{"title":"Checkpoint","slug":"checkpoint","depth":3,"children":[]},{"title":"DataSlice","slug":"dataslice","depth":3,"children":[]},{"title":"Dataset","slug":"dataset","depth":3,"children":[]},{"title":"DatasetHandle","slug":"datasethandle","depth":3,"children":[]},{"title":"DatasetKind","slug":"datasetkind","depth":3,"children":[]},{"title":"DatasetRef","slug":"datasetref","depth":3,"children":[]},{"title":"DatasetSelector","slug":"datasetselector","depth":3,"children":[]},{"title":"DatasetSpec","slug":"datasetspec","depth":3,"children":[]},{"title":"DatasetSpecInput","slug":"datasetspecinput","depth":3,"children":[]},{"title":"DatasetVocabulary","slug":"datasetvocabulary","depth":3,"children":[]},{"title":"ExecuteTransform","slug":"executetransform","depth":3,"children":[]},{"title":"ExecuteTransformInput","slug":"executetransforminput","depth":3,"children":[]},{"title":"MetadataBlock","slug":"metadatablock","depth":3,"children":[]},{"title":"MetadataEvent","slug":"metadataevent","depth":3,"children":[]},{"title":"OffsetInterval","slug":"offsetinterval","depth":3,"children":[]},{"title":"Projection","slug":"projection","depth":3,"children":[]},{"title":"ProjectionSpec","slug":"projectionspec","depth":3,"children":[]},{"title":"ProjectionSpecInput","slug":"projectionspecinput","depth":3,"children":[]},{"title":"Seed","slug":"seed","depth":3,"children":[]},{"title":"SetAttachments","slug":"setattachments","depth":3,"children":[]},{"title":"SetDataSchema","slug":"setdataschema","depth":3,"children":[]},{"title":"SetInfo","slug":"setinfo","depth":3,"children":[]},{"title":"SetLicense","slug":"setlicense","depth":3,"children":[]},{"title":"SetTransform","slug":"settransform","depth":3,"children":[]},{"title":"SetVocab","slug":"setvocab","depth":3,"children":[]},{"title":"SqlQueryStep","slug":"sqlquerystep","depth":3,"children":[]},{"title":"TemporalTable","slug":"temporaltable","depth":3,"children":[]},{"title":"Transform","slug":"transform","depth":3,"children":[]},{"title":"Transform::Sql","slug":"transformsql","depth":3,"children":[]},{"title":"TransformInput","slug":"transforminput","depth":3,"children":[]},{"title":"Watermark","slug":"watermark","depth":3,"children":[]},{"title":"AlterHistory","slug":"alterhistory","depth":3,"children":[]},{"title":"Read","slug":"read","depth":3,"children":[]},{"title":"Write","slug":"write","depth":3,"children":[]}]},{"title":"Engines","slug":"engines","depth":2,"children":[{"title":"RawQueryRequest","slug":"rawqueryrequest","depth":3,"children":[]},{"title":"RawQueryResponse","slug":"rawqueryresponse","depth":3,"children":[]},{"title":"RawQueryResponse::Progress","slug":"rawqueryresponseprogress","depth":3,"children":[]},{"title":"RawQueryResponse::Success","slug":"rawqueryresponsesuccess","depth":3,"children":[]},{"title":"RawQueryResponse::InvalidQuery","slug":"rawqueryresponseinvalidquery","depth":3,"children":[]},{"title":"RawQueryResponse::InternalError","slug":"rawqueryresponseinternalerror","depth":3,"children":[]},{"title":"TransformRequest","slug":"transformrequest","depth":3,"children":[]},{"title":"TransformRequestInput","slug":"transformrequestinput","depth":3,"children":[]},{"title":"TransformResponse","slug":"transformresponse","depth":3,"children":[]},{"title":"TransformResponse::Progress","slug":"transformresponseprogress","depth":3,"children":[]},{"title":"TransformResponse::Success","slug":"transformresponsesuccess","depth":3,"children":[]},{"title":"TransformResponse::InvalidQuery","slug":"transformresponseinvalidquery","depth":3,"children":[]},{"title":"TransformResponse::InternalError","slug":"transformresponseinternalerror","depth":3,"children":[]}]},{"title":"Events","slug":"events","depth":2,"children":[{"title":"EventFilter","slug":"eventfilter","depth":3,"children":[]}]},{"title":"Flows","slug":"flows","depth":2,"children":[{"title":"Flow","slug":"flow","depth":3,"children":[]},{"title":"FlowRun","slug":"flowrun","depth":3,"children":[]},{"title":"FlowRunActivationCause","slug":"flowrunactivationcause","depth":3,"children":[]},{"title":"FlowRunActivationCauses","slug":"flowrunactivationcauses","depth":3,"children":[]},{"title":"FlowRunRetry","slug":"flowrunretry","depth":3,"children":[]},{"title":"FlowRunSpec","slug":"flowrunspec","depth":3,"children":[]},{"title":"FlowRunSpecInput","slug":"flowrunspecinput","depth":3,"children":[]},{"title":"FlowRunStatus","slug":"flowrunstatus","depth":3,"children":[]},{"title":"FlowSpec","slug":"flowspec","depth":3,"children":[]},{"title":"FlowSpecInput","slug":"flowspecinput","depth":3,"children":[]},{"title":"FlowStatus","slug":"flowstatus","depth":3,"children":[]},{"title":"FlowTrigger","slug":"flowtrigger","depth":3,"children":[]},{"title":"FlowTrigger::Manual","slug":"flowtriggermanual","depth":3,"children":[]},{"title":"FlowTrigger::Schedule","slug":"flowtriggerschedule","depth":3,"children":[]},{"title":"FlowTrigger::Interval","slug":"flowtriggerinterval","depth":3,"children":[]},{"title":"FlowTrigger::Event","slug":"flowtriggerevent","depth":3,"children":[]},{"title":"FlowTrigger::Source","slug":"flowtriggersource","depth":3,"children":[]},{"title":"FlowTrigger::InputsUpdated","slug":"flowtriggerinputsupdated","depth":3,"children":[]},{"title":"FlowTriggerInput","slug":"flowtriggerinput","depth":3,"children":[]},{"title":"FlowTriggerInput::Manual","slug":"flowtriggerinputmanual","depth":3,"children":[]},{"title":"FlowTriggerInput::Schedule","slug":"flowtriggerinputschedule","depth":3,"children":[]},{"title":"FlowTriggerInput::Interval","slug":"flowtriggerinputinterval","depth":3,"children":[]},{"title":"FlowTriggerInput::Event","slug":"flowtriggerinputevent","depth":3,"children":[]},{"title":"FlowTriggerInput::Source","slug":"flowtriggerinputsource","depth":3,"children":[]},{"title":"FlowTriggerInput::InputsUpdated","slug":"flowtriggerinputinputsupdated","depth":3,"children":[]},{"title":"RecentBindingsRetention","slug":"recentbindingsretention","depth":3,"children":[]},{"title":"RecentRunsRetention","slug":"recentrunsretention","depth":3,"children":[]},{"title":"RetryBackoff","slug":"retrybackoff","depth":3,"children":[]},{"title":"RetryPolicy","slug":"retrypolicy","depth":3,"children":[]}]},{"title":"Resources","slug":"resources","depth":2,"children":[{"title":"LabelFilter","slug":"labelfilter","depth":3,"children":[]},{"title":"ReconciliationError","slug":"reconciliationerror","depth":3,"children":[]},{"title":"Resource","slug":"resource","depth":3,"children":[]},{"title":"ResourceAnnotations","slug":"resourceannotations","depth":3,"children":[]},{"title":"ResourceConditions","slug":"resourceconditions","depth":3,"children":[]},{"title":"ResourceHandle","slug":"resourcehandle","depth":3,"children":[]},{"title":"ResourceHeaders","slug":"resourceheaders","depth":3,"children":[]},{"title":"ResourceHeadersInput","slug":"resourceheadersinput","depth":3,"children":[]},{"title":"ResourceInput","slug":"resourceinput","depth":3,"children":[]},{"title":"ResourceLabels","slug":"resourcelabels","depth":3,"children":[]},{"title":"ResourcePhase","slug":"resourcephase","depth":3,"children":[]},{"title":"ResourceRef","slug":"resourceref","depth":3,"children":[]},{"title":"ResourceSelector","slug":"resourceselector","depth":3,"children":[]},{"title":"ResourceStatus","slug":"resourcestatus","depth":3,"children":[]},{"title":"AddLabel","slug":"addlabel","depth":3,"children":[]},{"title":"Create","slug":"create","depth":3,"children":[]},{"title":"Delete","slug":"delete","depth":3,"children":[]},{"title":"Edit","slug":"edit","depth":3,"children":[]},{"title":"List","slug":"list","depth":3,"children":[]},{"title":"RemoveLabel","slug":"removelabel","depth":3,"children":[]},{"title":"View","slug":"view","depth":3,"children":[]}]},{"title":"Sinks","slug":"sinks","depth":2,"children":[{"title":"WebhookEndpoint","slug":"webhookendpoint","depth":3,"children":[]},{"title":"WebhookEndpointSpec","slug":"webhookendpointspec","depth":3,"children":[]},{"title":"WebhookEndpointSpecInput","slug":"webhookendpointspecinput","depth":3,"children":[]}]},{"title":"Sources","slug":"sources","depth":2,"children":[{"title":"CompressionFormat","slug":"compressionformat","depth":3,"children":[]},{"title":"EnvVar","slug":"envvar","depth":3,"children":[]},{"title":"EventTimeSource","slug":"eventtimesource","depth":3,"children":[]},{"title":"EventTimeSource::FromMetadata","slug":"eventtimesourcefrommetadata","depth":3,"children":[]},{"title":"EventTimeSource::FromSystemTime","slug":"eventtimesourcefromsystemtime","depth":3,"children":[]},{"title":"EventTimeSource::FromPath","slug":"eventtimesourcefrompath","depth":3,"children":[]},{"title":"Ingress","slug":"ingress","depth":3,"children":[]},{"title":"Ingress::Url","slug":"ingressurl","depth":3,"children":[]},{"title":"Ingress::FilesGlob","slug":"ingressfilesglob","depth":3,"children":[]},{"title":"Ingress::Container","slug":"ingresscontainer","depth":3,"children":[]},{"title":"Ingress::Mqtt","slug":"ingressmqtt","depth":3,"children":[]},{"title":"Ingress::RestEndpoint","slug":"ingressrestendpoint","depth":3,"children":[]},{"title":"Ingress::EvmLogs","slug":"ingressevmlogs","depth":3,"children":[]},{"title":"IngressBuffer","slug":"ingressbuffer","depth":3,"children":[]},{"title":"IngressBuffer::Memory","slug":"ingressbuffermemory","depth":3,"children":[]},{"title":"MergeStrategy","slug":"mergestrategy","depth":3,"children":[]},{"title":"MergeStrategy::Append","slug":"mergestrategyappend","depth":3,"children":[]},{"title":"MergeStrategy::ChangelogStream","slug":"mergestrategychangelogstream","depth":3,"children":[]},{"title":"MergeStrategy::Ledger","slug":"mergestrategyledger","depth":3,"children":[]},{"title":"MergeStrategy::Snapshot","slug":"mergestrategysnapshot","depth":3,"children":[]},{"title":"MergeStrategy::UpsertStream","slug":"mergestrategyupsertstream","depth":3,"children":[]},{"title":"MqttQos","slug":"mqttqos","depth":3,"children":[]},{"title":"MqttTopicSubscription","slug":"mqtttopicsubscription","depth":3,"children":[]},{"title":"PrepStep","slug":"prepstep","depth":3,"children":[]},{"title":"PrepStep::Decompress","slug":"prepstepdecompress","depth":3,"children":[]},{"title":"PrepStep::Pipe","slug":"prepsteppipe","depth":3,"children":[]},{"title":"ReadStep","slug":"readstep","depth":3,"children":[]},{"title":"ReadStep::Csv","slug":"readstepcsv","depth":3,"children":[]},{"title":"ReadStep::Json","slug":"readstepjson","depth":3,"children":[]},{"title":"ReadStep::NdJson","slug":"readstepndjson","depth":3,"children":[]},{"title":"ReadStep::GeoJson","slug":"readstepgeojson","depth":3,"children":[]},{"title":"ReadStep::NdGeoJson","slug":"readstepndgeojson","depth":3,"children":[]},{"title":"ReadStep::EsriShapefile","slug":"readstepesrishapefile","depth":3,"children":[]},{"title":"ReadStep::Parquet","slug":"readstepparquet","depth":3,"children":[]},{"title":"RequestHeader","slug":"requestheader","depth":3,"children":[]},{"title":"Source","slug":"source","depth":3,"children":[]},{"title":"SourceCaching","slug":"sourcecaching","depth":3,"children":[]},{"title":"SourceCaching::Forever","slug":"sourcecachingforever","depth":3,"children":[]},{"title":"SourceOrdering","slug":"sourceordering","depth":3,"children":[]},{"title":"SourceSpec","slug":"sourcespec","depth":3,"children":[]},{"title":"SourceSpecInput","slug":"sourcespecinput","depth":3,"children":[]},{"title":"SourceState","slug":"sourcestate","depth":3,"children":[]}]},{"title":"Storage","slug":"storage","depth":2,"children":[{"title":"AwsCredentials","slug":"awscredentials","depth":3,"children":[]},{"title":"AwsCredentialsInput","slug":"awscredentialsinput","depth":3,"children":[]},{"title":"PersistentVolume","slug":"persistentvolume","depth":3,"children":[]},{"title":"PersistentVolumeRef","slug":"persistentvolumeref","depth":3,"children":[]},{"title":"PersistentVolumeSpec","slug":"persistentvolumespec","depth":3,"children":[]},{"title":"PersistentVolumeSpec::S3","slug":"persistentvolumespecs3","depth":3,"children":[]},{"title":"PersistentVolumeSpecInput","slug":"persistentvolumespecinput","depth":3,"children":[]},{"title":"PersistentVolumeSpecInput::S3","slug":"persistentvolumespecinputs3","depth":3,"children":[]},{"title":"VolumeCapacity","slug":"volumecapacity","depth":3,"children":[]}]},{"title":"Tasks","slug":"tasks","depth":2,"children":[{"title":"FailureBehavior","slug":"failurebehavior","depth":3,"children":[]},{"title":"NoOpBehavior","slug":"noopbehavior","depth":3,"children":[]},{"title":"SyncAuth","slug":"syncauth","depth":3,"children":[]},{"title":"SyncAuth::Bearer","slug":"syncauthbearer","depth":3,"children":[]},{"title":"SyncAuth::Aws","slug":"syncauthaws","depth":3,"children":[]},{"title":"SyncAuth::Headers","slug":"syncauthheaders","depth":3,"children":[]},{"title":"SyncAuthHeader","slug":"syncauthheader","depth":3,"children":[]},{"title":"SyncAuthHeaderInput","slug":"syncauthheaderinput","depth":3,"children":[]},{"title":"SyncAuthInput","slug":"syncauthinput","depth":3,"children":[]},{"title":"SyncAuthInput::Bearer","slug":"syncauthinputbearer","depth":3,"children":[]},{"title":"SyncAuthInput::Aws","slug":"syncauthinputaws","depth":3,"children":[]},{"title":"SyncAuthInput::Headers","slug":"syncauthinputheaders","depth":3,"children":[]},{"title":"SyncEndpoint","slug":"syncendpoint","depth":3,"children":[]},{"title":"SyncEndpointInput","slug":"syncendpointinput","depth":3,"children":[]},{"title":"Task","slug":"task","depth":3,"children":[]},{"title":"TaskError","slug":"taskerror","depth":3,"children":[]},{"title":"TaskOutcome","slug":"taskoutcome","depth":3,"children":[]},{"title":"TaskOutcome::Success","slug":"taskoutcomesuccess","depth":3,"children":[]},{"title":"TaskOutcome::Failed","slug":"taskoutcomefailed","depth":3,"children":[]},{"title":"TaskOutcome::NoOp","slug":"taskoutcomenoop","depth":3,"children":[]},{"title":"TaskOutcome::Cancelled","slug":"taskoutcomecancelled","depth":3,"children":[]},{"title":"TaskPlan","slug":"taskplan","depth":3,"children":[]},{"title":"TaskSpec","slug":"taskspec","depth":3,"children":[]},{"title":"TaskSpec::Ingest","slug":"taskspecingest","depth":3,"children":[]},{"title":"TaskSpec::Transform","slug":"taskspectransform","depth":3,"children":[]},{"title":"TaskSpec::SyncFrom","slug":"taskspecsyncfrom","depth":3,"children":[]},{"title":"TaskSpec::SyncTo","slug":"taskspecsyncto","depth":3,"children":[]},{"title":"TaskSpec::Compaction","slug":"taskspeccompaction","depth":3,"children":[]},{"title":"TaskSpec::Reset","slug":"taskspecreset","depth":3,"children":[]},{"title":"TaskSpec::GarbageCollection","slug":"taskspecgarbagecollection","depth":3,"children":[]},{"title":"TaskSpec::Verify","slug":"taskspecverify","depth":3,"children":[]},{"title":"TaskSpec::WebhookCall","slug":"taskspecwebhookcall","depth":3,"children":[]},{"title":"TaskSpecInput","slug":"taskspecinput","depth":3,"children":[]},{"title":"TaskSpecInput::Ingest","slug":"taskspecinputingest","depth":3,"children":[]},{"title":"TaskSpecInput::Transform","slug":"taskspecinputtransform","depth":3,"children":[]},{"title":"TaskSpecInput::SyncFrom","slug":"taskspecinputsyncfrom","depth":3,"children":[]},{"title":"TaskSpecInput::SyncTo","slug":"taskspecinputsyncto","depth":3,"children":[]},{"title":"TaskSpecInput::Compaction","slug":"taskspecinputcompaction","depth":3,"children":[]},{"title":"TaskSpecInput::Reset","slug":"taskspecinputreset","depth":3,"children":[]},{"title":"TaskSpecInput::GarbageCollection","slug":"taskspecinputgarbagecollection","depth":3,"children":[]},{"title":"TaskSpecInput::Verify","slug":"taskspecinputverify","depth":3,"children":[]},{"title":"TaskSpecInput::WebhookCall","slug":"taskspecinputwebhookcall","depth":3,"children":[]},{"title":"TaskStatus","slug":"taskstatus","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":[],"dynamicCss":".mint-aspect-video {\n aspect-ratio: 16 / 9\n}\n.mint-w-full {\n width: 100%\n}\n.mint-rounded-xl {\n border-radius: 0.75rem\n}","subdomain":"kamu","siteName":"Kamu Docs","title":"Schemas - Kamu Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-15T04:13:42.426Z","gitLastModified":"2026-10-15T04:13:20.000Z","originalFileLocation":"odf/schemas.md"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Schemas of common metadata objects\">\u003cmeta data-mint-head name=\"application-name\" content=\"Kamu Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/kamu/FxhmdHpAfy0cwcpV/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/kamu/FxhmdHpAfy0cwcpV/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/kamu/FxhmdHpAfy0cwcpV/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/kamu/FxhmdHpAfy0cwcpV/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/kamu/FxhmdHpAfy0cwcpV/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/kamu/FxhmdHpAfy0cwcpV/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/kamu/FxhmdHpAfy0cwcpV/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/kamu/FxhmdHpAfy0cwcpV/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/kamu/FxhmdHpAfy0cwcpV/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Schemas - Kamu Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Schemas of common metadata objects\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Kamu Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.kamu.dev/odf/schemas\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://kamu.mintlify.app/_mintlify/api/og/v2?division=Open+Data+Fabric\u0026amp;title=Schemas\u0026amp;description=Schemas+of+common+metadata+objects\u0026amp;theme=4425de33767c8dc7c1d6072e\u0026amp;signature=5cb0c243a93eced772397a463e1c2e7ca4fd2ca230edd83ac1d744f4bd4299d7\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Schemas - Kamu Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Schemas of common metadata objects\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://kamu.mintlify.app/_mintlify/api/og/v2?division=Open+Data+Fabric\u0026amp;title=Schemas\u0026amp;description=Schemas+of+common+metadata+objects\u0026amp;theme=4425de33767c8dc7c1d6072e\u0026amp;signature=5cb0c243a93eced772397a463e1c2e7ca4fd2ca230edd83ac1d744f4bd4299d7\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/kamu/FxhmdHpAfy0cwcpV/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Kamu Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#ec6e2a\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.kamu.dev/odf/schemas\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/odf/schemas.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.kamu.dev/#organization\",\"name\":\"Kamu Docs\",\"url\":\"https://docs.kamu.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/kamu/j1tx5fgzyFHd1DYS/images/kamu-logo-light.svg?fit=max\u0026auto=format\u0026n=j1tx5fgzyFHd1DYS\u0026q=85\u0026s=a09261b617da6e1515dea3d28495f633\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.kamu.dev#website\",\"name\":\"Kamu Docs\",\"url\":\"https://docs.kamu.dev\",\"publisher\":{\"@id\":\"https://docs.kamu.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.kamu.dev/odf/schemas#webpage\",\"url\":\"https://docs.kamu.dev/odf/schemas\",\"name\":\"Schemas\",\"description\":\"Schemas of common metadata objects\",\"dateModified\":\"2026-10-15T04:13:20.000Z\",\"isPartOf\":{\"@id\":\"https://docs.kamu.dev#website\"},\"breadcrumb\":{\"@id\":\"https://docs.kamu.dev/odf/schemas#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.kamu.dev/odf/schemas#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Open Data Fabric\",\"item\":\"https://docs.kamu.dev/odf/about\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Schemas\",\"item\":\"https://docs.kamu.dev/odf/schemas\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.kamu.dev/odf/schemas#article\",\"headline\":\"Schemas\",\"name\":\"Schemas\",\"description\":\"Schemas of common metadata objects\",\"url\":\"https://docs.kamu.dev/odf/schemas\",\"mainEntityOfPage\":{\"@id\":\"https://docs.kamu.dev/odf/schemas#webpage\"},\"dateModified\":\"2026-10-15T04:13:20.000Z\",\"publisher\":{\"@id\":\"https://docs.kamu.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.kamu.dev#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Kamu Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Kamu Docs","nav":{"global":{"anchors":[]},"tabs":[{"tab":"Guides","icon":"person-chalkboard","pages":[{"title":"Guides","href":"/start/welcome"}]},{"tab":"Reference","icon":"book-open-cover","groups":[{"group":"Open Data Fabric","pages":[{"title":null,"href":"/odf/about"},{"group":"Specification","root":{"title":"Overview","href":"/odf/spec/overview"},"pages":[{"group":"Datasets","pages":[{"title":"Logical Structure","href":"/odf/spec/datasets/logical-structure"},{"title":"Identity","href":"/odf/spec/datasets/identity"},{"title":"Data Model","href":"/odf/spec/datasets/data-model"},{"title":"Data Schema","href":"/odf/spec/datasets/data-schema"},{"title":"Metadata Chain","href":"/odf/spec/datasets/metadata-chain"},{"title":"Data \u0026 Checkpoint Hashing","href":"/odf/spec/datasets/data-and-checkpoint-hashing"},{"title":"Storage Layout","href":"/odf/spec/datasets/storage-layout"},{"title":"Ingestion","href":"/odf/spec/datasets/ingestion"}]},{"group":"Transformations","pages":[{"title":"Processing Model","href":"/odf/spec/transformations/processing-model"},{"title":"Engine Contract","href":"/odf/spec/transformations/engine-contract"}]},{"group":"Exchange","pages":[{"title":"Transfer Protocols","href":"/odf/spec/exchange/transfer-protocols"},{"title":"Verifiable Batch Queries","href":"/odf/spec/exchange/verifiable-batch-queries"}]},{"group":"Automation","pages":[{"title":"Resource Framework","href":"/odf/spec/automation/resource-framework"},{"title":"Tasks and Flows","href":"/odf/spec/automation/tasks-and-flows"}]},{"group":"Auth \u0026 Privacy","pages":[{"title":"Authorization","description":null,"href":"/odf/spec/auth-and-privacy/authorization"}]}]},{"title":"Schemas","href":"/odf/schemas"},{"group":"RFCs","root":{"title":"RFCs","description":null,"href":"/odf/rfcs/index"},"pages":[{"title":"RFC-001: Record Offsets","href":"/odf/rfcs/001-record-offsets"},{"title":"RFC-002: Logical Data Digests","href":"/odf/rfcs/002-logical-data-hashes"},{"title":"RFC-003: Content Addressability","href":"/odf/rfcs/003-content-addressability"},{"title":"RFC-004: Metadata Extensibility","href":"/odf/rfcs/004-metadata-extensibility"},{"title":"RFC-005: New Annotation Metadata Events","href":"/odf/rfcs/005-dataset-annotations"},{"title":"RFC-006: Store Checkpoints as Files","href":"/odf/rfcs/006-checkpoints-as-files"},{"title":"RFC-007: Simple Transfer Protocol","href":"/odf/rfcs/007-simple-transfer-protocol"},{"title":"RFC-008: Smart Transfer Protocol","href":"/odf/rfcs/008-smart-transfer-protocol"},{"title":"RFC-009: Ingestion Source State","href":"/odf/rfcs/009-ingest-source-state"},{"title":"RFC-010: Data Schema in Metadata","href":"/odf/rfcs/010-data-schema-in-metadata"},{"title":"RFC-011: Push Ingest Sources","href":"/odf/rfcs/011-push-ingest-sources"},{"title":"RFC-012: Recommend `base16` encoding for textual representation of hashes and DIDs","href":"/odf/rfcs/012-recommend-base16-encoding"},{"title":"RFC-013: Enum representation in YAML encoding","href":"/odf/rfcs/013-yaml-enum-representation"},{"title":"RFC-014: Minimizing scanning for last offset and block","href":"/odf/rfcs/014-minimize-offset-scanning"},{"title":"RFC-015: Unified changelog stream schema","href":"/odf/rfcs/015-unified-changelog-stream-schema"},{"title":"RFC-016: ODF Schema Format","href":"/odf/rfcs/016-odf-schema"},{"title":"RFC-017: Large Files Linking","href":"/odf/rfcs/017-large-files-linking"},{"title":"RFC-018: Infrastructure-as-Code Resource Framework","href":"/odf/rfcs/018-iac-resource-framework"},{"title":"RFC-019: IaC Task and Flow System","href":"/odf/rfcs/019-iac-task-flow-system"},{"title":"RFC-020: Authorization Model","href":"/odf/rfcs/020-auth"},{"title":"RFC-021: ODF Spec Restructuring","href":"/odf/rfcs/021-spec-restructuring"},{"title":"RFC-022: Batch Query Commitments","href":"/odf/rfcs/022-batch-query-commitments"}]}]},{"group":"Kamu CLI","pages":[{"title":"Commands Reference","href":"/cli/commands"},{"title":"Config Reference","href":"/cli/config"}]},{"group":"Kamu Node","pages":[{"title":"Config Reference","href":"/node/config"}]}]},{"tab":"APIs","icon":"code","pages":[{"title":"APIs","href":"/api/overview"}]},{"tab":"Integrations","icon":"network-wired","pages":[{"title":"Integrations","href":"/integrations/overview"}]}]},"title":"Schemas - Kamu Docs","buildId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","deploymentId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-B0E5HDf_.js","lightbox-handle-r17bVUz3.js"]}