{
  "name": "macro",
  "title": "Subnets",
  "description": "The flows between subnets, merged by port: what the firewall rules must allow.",
  "formats": [
    "svg"
  ],
  "declared": "views.cav:22:6",
  "nodes": [
    {
      "id": "aws-paris.prod.dmz",
      "kind": "subnet",
      "label": "dmz",
      "frame": null
    },
    {
      "id": "aws-paris.prod.db",
      "kind": "subnet",
      "label": "db",
      "frame": null
    },
    {
      "id": "paris-dc1.lan.erp",
      "kind": "subnet",
      "label": "erp",
      "frame": null
    }
  ],
  "frames": [],
  "edges": [
    {
      "source": "aws-paris.prod.dmz",
      "target": "aws-paris.prod.db",
      "relation": null,
      "ports": [
        "tcp/5432"
      ],
      "layers": [
        "flow"
      ],
      "carries": [
        "customer",
        "invoice"
      ],
      "through": [],
      "through_steps": [],
      "step": null
    },
    {
      "source": "aws-paris.prod.dmz",
      "target": "paris-dc1.lan.erp",
      "relation": null,
      "ports": [
        "tcp/1521"
      ],
      "layers": [
        "flow"
      ],
      "carries": [
        "invoice"
      ],
      "through": [
        "paris-dc1.fw01",
        "paris-aws-1"
      ],
      "through_steps": [
        [
          "paris-aws-1"
        ],
        [
          "paris-dc1.fw01"
        ]
      ],
      "step": null
    }
  ],
  "diagnostics": [
    {
      "severity": "warning",
      "message": "view macro: edge invoicing.billing -> stripe : https/443 dropped, stripe is neither selected nor liftable via on?.ancestor(subnet)",
      "help": null
    }
  ]
}
