{
	"$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"]
			}
		]
	}
}
