{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$id": "#IpAddress",
    "description": "An re-assignable IpAddress resource entity. Do not create an entity for an IP Address _configured_ on a Host. Use this only if the IP Address is a reusable resource, such as an Elastic IP Address object in AWS.",
    "type": "object",
    "allOf": [
        {
            "$ref": "#Entity"
        },
        {
            "properties": {
                "dnsName": {
                    "description": "The assigned DNS name",
                    "type": "string",
                    "format": "hostname"
                },
                "ipAddress": {
                    "description": "The assigned IP address",
                    "type": "string",
                    "format": "ip"
                },
                "publicIpAddress": {
                    "description": "The assigned public IP address",
                    "type": "string",
                    "format": "ip"
                },
                "privateIpAddress": {
                    "description": "The assigned private IP address",
                    "type": "string",
                    "format": "ip"
                },
                "ipVersion": {
                    "description": "Indicates IP version 4 or 6",
                    "type": "integer",
                    "default": 4,
                    "enum": [4, 6]
                }
            },
            "required": ["ipAddress"]
        }
    ]
}
