Skip to content

ansible-structure.fbl

Example document ansible-structure.fbl

Views generated from the file

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

Bindings of ansible-structure.fbl. Flowchart of the bindings in ansible-structure.fbl: 1 binding(s) (ansible) as boxes with the files they claim and their body's format family, and 0 element rule(s) and 0 relation rule(s) as rounded boxes with the type each produces.
Generated from ansible-structure.fbl at eb8f668
Diagram as text (Mermaid)
flowchart LR
  accTitle: Bindings of ansible-structure.fbl
  accDescr: Flowchart of the bindings in ansible-structure.fbl: 1 binding(s) (ansible) as boxes with the files they claim and their body's format family, and 0 element rule(s) and 0 relation rule(s) as rounded boxes with the type each produces.
  b_ansible["Ansible project folder<br/>ansible"]

The file

Download ansible-structure.fbl (2,293 bytes, unchanged from the source).

{
  "$schema": "https://etalii.net/adp/fbl/schema/0.1/fbl.schema.json#/$defs/Document",
  "fbl": "0.2",
  "doc": "An Ansible project folder (definitions/diagrams/ansible-structure.dis, ansible-structure.md): a folder subject (section 10) read by a persistence plugin and never written. Every folder qualifies, because a registration and never the content says a folder is an Ansible project. The file rules select the files the plugin parses: playbooks at the root and under playbooks/, a role's task files and its meta/main, and the inventory files. The plugin passes over a selected file it does not read, such as a note under inventories/. What the plugin also needs and no file rule can say, that a folder exists and how many files a folder holds, is not here: the plugin learns it from the folder itself (ansible-structure.md, gaps 1 and 2). No rule names a family, so the plugin parses every file, and an inventory that is not YAML is read as INI.",
  "bindings": {
    "ansible": {
      "title": "Ansible project folder",
      "claims": {
        "origins": ["ansible/structure"],
        "registrationOnly": true
      },
      "body": {
        "kind": "folder",
        "recognise": {},
        "files": [
          { "name": "rootInventory", "glob": "inventory" },
          { "name": "rootHosts", "glob": "hosts" },
          { "name": "rootYml", "glob": "*.yml" },
          { "name": "rootYaml", "glob": "*.yaml" },
          { "name": "playbooksYml", "glob": "playbooks/*.yml" },
          { "name": "playbooksYaml", "glob": "playbooks/*.yaml" },
          { "name": "roleTasksYml", "glob": "roles/*/tasks/*.yml" },
          { "name": "roleTasksYaml", "glob": "roles/*/tasks/*.yaml" },
          { "name": "roleMetaYml", "glob": "roles/*/meta/main.yml" },
          { "name": "roleMetaYaml", "glob": "roles/*/meta/main.yaml" },
          { "name": "inventories", "glob": "inventories/*/*" }
        ],
        "ignore": [".git/**"],
        "settle": 400
      },
      "reader": { "plugin": "net.etalii.adp.ansible.folder", "version": "^0.1.0" },
      "readOnly": "An Ansible structure diagram shows the folder as it is and changes nothing in it. Edit the file this value comes from in a text editor.",
      "registration": { "createOnFirstPlacement": false }
    }
  }
}

In an IDE

No IDE host runs this example yet.