definition:
  language:
    go:
      - name: "Local file I/O"
        prefix: "os."
        provider: CLOUD_BLOCKER
        rule: "os\\.(?<operation>Open|Create|OpenFile|WriteFile|ReadFile|Remove|Rename)"
      - name: "Embedded HTTP server"
        prefix: "net/http."
        provider: CLOUD_BLOCKER
        rule: "net/http\\.(?<operation>ListenAndServe|Serve|ListenAndServeTLS)"
      - name: "Local SQLite"
        prefix: "github.com/mattn/go-sqlite3."
        provider: CLOUD_BLOCKER
    java:
      - name: "Embedded Tomcat"
        prefix: "org.apache.catalina."
        provider: CLOUD_BLOCKER
      - name: "Local file I/O"
        prefix: "java.io.File"
        provider: CLOUD_BLOCKER
        rule: "java\\.io\\.File\\.(?<operation>[a-zA-Z0-9_]+)"
      - name: "H2 embedded database"
        prefix: "org.h2."
        provider: CLOUD_BLOCKER
    python:
      - name: "Local file open"
        prefix: "open"
        provider: CLOUD_BLOCKER
        rule: "open\\("
      - name: "Flask dev server"
        prefix: "flask.Flask"
        provider: CLOUD_BLOCKER
        rule: "flask\\.Flask\\.(?<operation>run)"
      - name: "SQLite3 embedded"
        prefix: "sqlite3."
        provider: CLOUD_BLOCKER
        rule: "sqlite3\\.(?<operation>[a-zA-Z0-9_]+)"
    javascript:
      - name: "Node fs local I/O"
        prefix: "fs."
        provider: CLOUD_BLOCKER
        rule: "fs\\.(?<operation>readFile|writeFile|createReadStream|createWriteStream)"
      - name: "Express listen"
        prefix: "express."
        provider: CLOUD_BLOCKER
        rule: "express\\(\\)\\.listen"

  providers:
    CLOUD_BLOCKER:
      servicenameMapping:
        "filesystem": "local-filesystem"
        "embedded-server": "embedded-server"
        "embedded-db": "embedded-database"
