{
  "$schema": "https://osirisjson.org/schema/v1.0/osiris.schema.json",
  "version": "1.0.0",
  "metadata": {
    "timestamp": "2026-01-12T13:00:00Z",
    "generator": {
      "name": "manual",
      "version": "1.0.0"
    },
    "scope": {
      "name": "Industrial printing system",
      "description": "PLC-controlled industrial label printer connected to OT network at MXP Facility.",
      "providers": [ "custom" ],
      "sites": [ "mxp" ],
      "environments": [ "production" ]
    }
  },
  "topology": {
    "resources": [
      {
        "id": "mxp::plc-line-01",
        "type": "ot.plc",
        "name": "PLC-LINE-01",
        "description": "PLC controlling packaging line and printer trigger signals",
        "provider": {
          "name": "custom",
          "namespace": "osiris.com.rockwell",
          "native_id": "PLC-0001",
          "site": "mxp"
        },
        "status": "active",
        "state": "operational",
        "properties": {
          "vendor": "Rockwell Automation",
          "model": "Allen-Bradley CompactLogix 5380",
          "ip_address": "10.50.10.20",
          "mac_address": "02:AA:BB:CC:FF:20",
          "protocols": [
            "ethernet_ip",
            "modbus_tcp"
          ],
          "connected_switch": "mxp::sw-ot-printing-01",
          "switch_port": "Gi1/0/4",
          "location": {
            "site": "mxp",
            "building": "plant",
            "line": "packaging_line_01"
          }
        },
        "tags": {
          "environment": "production",
          "domain": "ot",
          "function": "plc_control"
        }
      },
      {
        "id": "mxp::printer-label-01",
        "type": "ot.printer.industrial",
        "name": "PRINTER-LABEL-01",
        "description": "Industrial label printer receiving print jobs from PLC",
        "provider": {
          "name": "custom",
          "namespace": "osiris.com.zebra",
          "native_id": "PRN-0001",
          "site": "mxp"
        },
        "status": "active",
        "state": "operational",
        "properties": {
          "vendor": "Zebra",
          "model": "ZT610",
          "printer_type": "label",
          "ip_address": "10.50.10.30",
          "mac_address": "02:AA:BB:CC:FF:30",
          "protocols": [
            "tcp9100",
            "snmp"
          ],
          "connected_switch": "mxp::sw-ot-printing-01",
          "switch_port": "Gi1/0/5",
          "location": {
            "site": "mxp",
            "building": "plant",
            "line": "packaging_line_01",
            "station": "labeling_station"
          }
        },
        "tags": {
          "environment": "production",
          "domain": "ot",
          "function": "label_printing"
        },
        "extensions": {
          "osiris.zebra": {
            "firmware_version": "V75.20.3Z",
            "dpi": 600,
            "max_width_mm": 104,
            "head_temp": 20
          }
        }
      },
      {
        "id": "mxp::sw-ot-printing-01",
        "type": "network.switch",
        "name": "SW-OT-PRINTING-01",
        "provider": {
          "name": "custom",
          "namespace": "osiris.com.cisco",
          "native_id": "SW-OT-PRINTING-01",
          "type": "IE-3300-8P2S-E",
          "site": "mxp"
        },
        "properties": {
          "model": "Cisco Catalyst IE3300 Rugged Series",
          "mgmt_ip": "10.50.10.1",
          "ports_total": 8,
          "ports_poe": 8
        },
        "tags": {
          "environment": "production",
          "domain": "ot"
        }
      }
    ],
    "connections": [
      {
        "id": "conn-plc-to-printer",
        "type": "dataflow.tcp",
        "source": "mxp::plc-line-01",
        "target": "mxp::printer-label-01",
        "direction": "forward",
        "properties": {
          "protocol": "tcp",
          "port": 9100,
          "application": "zpl_over_tcp"
        }
      },
      {
        "id": "conn-plc-to-switch",
        "type": "network",
        "source": "mxp::plc-line-01",
        "target": "mxp::sw-ot-printing-01",
        "direction": "bidirectional",
        "properties": {
          "interface": "Gi1/0/4",
          "link_speed": "1G"
        }
      },
      {
        "id": "conn-printer-to-switch",
        "type": "network",
        "source": "mxp::printer-label-01",
        "target": "mxp::sw-ot-printing-01",
        "direction": "bidirectional",
        "properties": {
          "interface": "Gi1/0/5",
          "link_speed": "1G"
        }
      }
    ],
    "groups": [
      {
        "id": "grp-mxp-printing-zone",
        "type": "logical.production.zone",
        "name": "MXP Packaging Line 01 Printing Zone",
        "members": [
          "mxp::plc-line-01",
          "mxp::printer-label-01",
          "mxp::sw-ot-printing-01"
        ]
      }
    ]
  }
}