{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/leaseweb/main/json-schema/leaseweb-get-network-equipment-list-result-schema.json",
  "title": "getNetworkEquipmentListResult",
  "x-generated": "2026-10-13",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/leaseweb-networkequipment-openapi.yml#/components/schemas/getNetworkEquipmentListResult",
  "properties": {
    "_metadata": {
      "$ref": "#/$defs/_metadata"
    },
    "networkEquipments": {
      "description": "An array of network equipment",
      "items": {
        "$ref": "#/$defs/networkEquipment"
      },
      "type": "array"
    }
  },
  "type": "object",
  "$defs": {
    "_metadata": {
      "description": "Metadata about the collection",
      "properties": {
        "totalCount": {
          "description": "Total amount of elements in this collection",
          "minimum": 0,
          "type": "integer"
        },
        "offset": {
          "default": 0,
          "description": "The offset used to generate this response",
          "minimum": 0,
          "type": "integer"
        },
        "limit": {
          "default": 5,
          "description": "The limit used to generate this response",
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "limit",
        "offset",
        "totalCount"
      ],
      "title": "metadata",
      "type": "object"
    },
    "contract": {
      "description": "Contract information",
      "properties": {
        "id": {
          "type": "string"
        },
        "customerId": {
          "type": "string"
        },
        "salesOrgId": {
          "type": "string"
        },
        "deliveryStatus": {
          "type": "string"
        },
        "reference": {
          "type": [
            "string",
            "null"
          ]
        },
        "privateNetworkPortSpeed": {
          "type": [
            "number",
            "null"
          ]
        },
        "subnets": {
          "items": {
            "$ref": "#/$defs/subnet"
          },
          "type": "array"
        },
        "status": {
          "type": "string"
        },
        "startsAt": {
          "format": "date-time",
          "type": "string"
        },
        "endsAt": {
          "format": "date-time",
          "type": [
            "string",
            "null"
          ]
        },
        "sla": {
          "description": "Service Level Agreement",
          "type": "string"
        },
        "contractTerm": {
          "type": "integer"
        },
        "contractType": {
          "enum": [
            "NORMAL"
          ],
          "type": "string"
        },
        "billingCycle": {
          "description": "Applied billing cycle",
          "type": "integer"
        },
        "billingFrequency": {
          "description": "The interval for which billing will be done",
          "type": "string"
        },
        "pricePerFrequency": {
          "description": "Price per billing frequency",
          "type": "string"
        },
        "currency": {
          "type": "string"
        },
        "networkTraffic": {
          "$ref": "#/$defs/networkTraffic"
        },
        "softwareLicenses": {
          "items": {
            "$ref": "#/$defs/softwareLicense"
          },
          "type": "array"
        },
        "managedServices": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "aggregationPackId": {
          "type": [
            "string",
            "null"
          ]
        },
        "ipv4Quantity": {
          "type": [
            "integer",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "featureAvailability": {
      "description": "List of features that are available for this device",
      "properties": {
        "automation": {
          "type": "boolean"
        },
        "powerCycle": {
          "type": "boolean"
        },
        "ipmiReboot": {
          "type": "boolean"
        },
        "privateNetwork": {
          "type": "boolean"
        },
        "remoteManagement": {
          "type": "boolean"
        }
      },
      "title": "featureAvailability",
      "type": "object"
    },
    "location": {
      "description": "Device location",
      "properties": {
        "site": {
          "type": "string"
        },
        "suite": {
          "type": "string"
        },
        "rack": {
          "type": "string"
        },
        "unit": {
          "type": "string"
        }
      },
      "title": "location",
      "type": "object"
    },
    "networkEquipment": {
      "properties": {
        "contract": {
          "$ref": "#/$defs/contract"
        },
        "featureAvailability": {
          "$ref": "#/$defs/featureAvailability"
        },
        "id": {
          "description": "Id of the network equipment",
          "type": "string"
        },
        "location": {
          "$ref": "#/$defs/location"
        },
        "name": {
          "description": "The name of the network equipment",
          "type": "string"
        },
        "type": {
          "description": "The network equipment type",
          "type": "string"
        },
        "networkInterfaces": {
          "$ref": "#/$defs/networkInterfaces"
        },
        "powerPorts": {
          "description": "List of ports that can be used to manage power of the network equipment",
          "items": {
            "$ref": "#/$defs/port"
          },
          "type": "array"
        },
        "rack": {
          "$ref": "#/$defs/rack"
        },
        "serialNumber": {
          "description": "Serial number of network equipment",
          "type": "string"
        },
        "specs": {
          "$ref": "#/$defs/networkEquipmentSpecs"
        }
      },
      "type": "object"
    },
    "networkEquipmentSpecs": {
      "description": "Hardware information of the network equipment",
      "properties": {
        "brand": {
          "description": "The brand of the network equipment",
          "type": "string"
        },
        "model": {
          "description": "The model of the network equipment",
          "type": "string"
        }
      },
      "title": "networkEquipmentSpecs",
      "type": "object"
    },
    "networkInterface": {
      "properties": {
        "mac": {
          "description": "Represents a MAC Address in the standard colon delimited format. Eg. `01:23:45:67:89:0A`",
          "type": [
            "string",
            "null"
          ]
        },
        "ip": {
          "format": "ipv4",
          "type": [
            "string",
            "null"
          ]
        },
        "nullRouted": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "gateway": {
          "format": "ipv4",
          "type": [
            "string",
            "null"
          ]
        },
        "ports": {
          "items": {
            "$ref": "#/$defs/port"
          },
          "type": "array"
        },
        "locationId": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "title": "networkInterface",
      "type": "object"
    },
    "networkInterfaces": {
      "description": "Network interface information grouped by type",
      "properties": {
        "public": {
          "$ref": "#/$defs/networkInterface"
        },
        "internal": {
          "$ref": "#/$defs/networkInterface"
        },
        "remoteManagement": {
          "$ref": "#/$defs/networkInterface"
        }
      },
      "title": "networkInterfaces",
      "type": "object"
    },
    "networkTraffic": {
      "description": "Network traffic associated to the server",
      "properties": {
        "type": {
          "description": "Type of network traffic",
          "type": [
            "string",
            "null"
          ]
        },
        "connectivityType": {
          "type": [
            "string",
            "null"
          ]
        },
        "trafficType": {
          "description": "Type of traffic",
          "type": [
            "string",
            "null"
          ]
        },
        "datatrafficUnit": {
          "description": "Unit in which the data traffic limit is represented",
          "type": [
            "string",
            "null"
          ]
        },
        "datatrafficLimit": {
          "description": "Data traffic limit",
          "type": [
            "number",
            "null"
          ]
        }
      },
      "title": "networkTraffic",
      "type": "object"
    },
    "networkType": {
      "description": "Type of network",
      "enum": [
        "INTERNAL",
        "PUBLIC",
        "REMOTE_MANAGEMENT"
      ],
      "type": "string"
    },
    "port": {
      "properties": {
        "name": {
          "type": "string"
        },
        "port": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "rack": {
      "description": "Rack details where this network equipment is located at",
      "properties": {
        "id": {
          "description": "Rack id",
          "type": "string"
        },
        "capacity": {
          "description": "Rack capacity",
          "type": "string"
        },
        "type": {
          "$ref": "#/$defs/rackType"
        }
      },
      "title": "rack",
      "type": "object"
    },
    "rackType": {
      "description": "rack type",
      "enum": [
        "SHARED",
        "DEDICATED",
        "SHARED_10GE",
        "SHARED_40GE",
        "SHARED_100GE",
        "SHARED_200GE",
        "SHARED_400GE"
      ],
      "title": "rackType",
      "type": "string"
    },
    "softwareLicense": {
      "properties": {
        "name": {
          "type": "string"
        },
        "price": {
          "type": [
            "number",
            "null"
          ]
        },
        "currency": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "title": "softwareLicense",
      "type": "object"
    },
    "subnet": {
      "properties": {
        "quantity": {
          "type": "integer"
        },
        "subnetSize": {
          "type": "string"
        },
        "networkType": {
          "$ref": "#/$defs/networkType"
        }
      },
      "title": "subnet",
      "type": "object"
    }
  }
}