Skip to content

databricks-pipeline.fbl

Example document databricks-pipeline.fbl

Views generated from the file

This view is drawn by this site from databricks-pipeline.fbl itself. It shows the data in the document, not the notation the diagram draws.

Bindings of databricks-pipeline.fbl. Flowchart of the bindings in databricks-pipeline.fbl: 1 binding(s) (settings) as boxes with the files they claim and their body's format family, and 2 element rule(s) and 0 relation rule(s) as rounded boxes with the type each produces.
Generated from databricks-pipeline.fbl at 4590c56
Diagram as text (Mermaid)
flowchart LR
  accTitle: Bindings of databricks-pipeline.fbl
  accDescr: Flowchart of the bindings in databricks-pipeline.fbl: 1 binding(s) (settings) as boxes with the files they claim and their body's format family, and 2 element rule(s) and 0 relation rule(s) as rounded boxes with the type each produces.
  b_settings["Databricks pipeline settings<br/>settings<br/>.json .yml .yaml, json family"]
  e_settings_pipeline("pipeline<br/>Pipeline")
  b_settings -->|element| e_settings_pipeline
  e_settings_library("library<br/>Library")
  b_settings -->|element| e_settings_library

The file

Download databricks-pipeline.fbl (2,884 bytes, unchanged from the source).

{
  "$schema": "https://etalii.net/adp/fbl/schema/0.1/fbl.schema.json#/$defs/Document",
  "fbl": "0.1",
  "doc": "A bare Databricks pipeline settings file (definitions/diagrams/databricks-pipeline.dis, databricks-pipeline.md), as the pipeline UI and API export it: JSON, or the same settings in YAML. Shows the json family's separator rules: adding a library gives the previous last item its comma, removing the last item takes the new last item's comma away.",
  "bindings": {
    "settings": {
      "title": "Databricks pipeline settings",
      "claims": {
        "extensions": [".json", ".yml", ".yaml"],
        "shared": true,
        "registrationOnly": true,
        "origins": ["databricks/pipeline"],
        "suggest": { "contains": ["\"libraries\"", "libraries:"] }
      },
      "body": { "kind": "file", "family": "json", "alsoRead": ["yaml"] },
      "reader": "declared",
      "text": { "newline": "crlf", "indent": 2, "finalNewline": true },
      "elements": [
        {
          "name": "pipeline",
          "type": "Pipeline",
          "at": "/",
          "when": "has(entry.name) || has(entry.libraries)",
          "attributes": {
            "name": { "key": "name", "empty": "refuse" },
            "catalog": { "key": "catalog", "empty": "remove", "absent": { "json": "refuse" } },
            "schema": { "key": "schema", "empty": "remove", "absent": { "json": "refuse" } },
            "channel": { "key": "channel", "empty": "remove", "absent": { "json": "refuse" } },
            "serverless": { "key": "serverless", "readOnly": true },
            "continuous": { "key": "continuous", "readOnly": true },
            "development": { "key": "development", "readOnly": true }
          }
        },
        {
          "name": "library",
          "type": "Library",
          "at": "/libraries/*",
          "attributes": {
            "kind": {
              "value": "has(entry.notebook) ? 'notebook' : has(entry.file) ? 'file' : has(entry.glob) ? 'glob' : 'other'",
              "readOnly": "The kind is which mapping the library entry carries."
            },
            "path": {
              "value": "has(entry.notebook) ? entry.notebook.path : has(entry.file) ? entry.file.path : has(entry.glob) ? entry.glob.include : ''",
              "readOnly": "A library's path is changed by removing it and adding another."
            }
          },
          "insert": {
            "place": "after-last",
            "container": "/libraries",
            "when": "attributes.kind == 'notebook' || attributes.kind == 'file'",
            "emit": "{ \"{kind}\": { \"path\": \"{path}\" } }"
          },
          "remove": { "container": "keep" }
        }
      ],
      "template": {
        "text": "{\r\n  \"name\": \"{base}\",\r\n  \"libraries\": [\r\n    { \"notebook\": { \"path\": \"./{key}\" } }\r\n  ]\r\n}\r\n"
      }
    }
  }
}

In an IDE

No IDE host runs this example yet.