{
  "lease_columns": {
    "assigned_at": {
      "data_type": "timestamp with time zone",
      "is_nullable": "NO"
    },
    "assignment_source": {
      "data_type": "text",
      "is_nullable": "NO"
    },
    "cooldown_until": {
      "data_type": "timestamp with time zone",
      "is_nullable": "YES"
    },
    "egress_class": {
      "data_type": "text",
      "is_nullable": "NO"
    },
    "forced": {
      "data_type": "boolean",
      "is_nullable": "NO"
    },
    "id": {
      "data_type": "uuid",
      "is_nullable": "NO"
    },
    "last_activity_at": {
      "data_type": "timestamp with time zone",
      "is_nullable": "YES"
    },
    "last_rx_bytes": {
      "data_type": "bigint",
      "is_nullable": "NO"
    },
    "last_rx_packets": {
      "data_type": "bigint",
      "is_nullable": "NO"
    },
    "last_tx_bytes": {
      "data_type": "bigint",
      "is_nullable": "NO"
    },
    "last_tx_packets": {
      "data_type": "bigint",
      "is_nullable": "NO"
    },
    "peer_id": {
      "data_type": "uuid",
      "is_nullable": "NO"
    },
    "reason": {
      "data_type": "text",
      "is_nullable": "NO"
    },
    "state": {
      "data_type": "text",
      "is_nullable": "NO"
    },
    "target_id": {
      "data_type": "text",
      "is_nullable": "YES"
    },
    "tunnel_ip": {
      "data_type": "inet",
      "is_nullable": "NO"
    },
    "updated_at": {
      "data_type": "timestamp with time zone",
      "is_nullable": "NO"
    }
  },
  "optional_sampler_columns_missing": [
    "last_sample_packets",
    "last_sample_bytes",
    "last_seen_packets",
    "last_seen_bytes"
  ],
  "optional_sampler_columns_present": [
    "last_activity_at",
    "updated_at",
    "reason"
  ],
  "required_sampler_columns": [
    "peer_id",
    "tunnel_ip",
    "egress_class",
    "target_id",
    "state",
    "forced"
  ]
}
