vrl 0.32.0

Vector Remap Language
Documentation
{
  "anchor": "ip_cidr_contains",
  "name": "ip_cidr_contains",
  "category": "IP",
  "description": "Determines whether the `ip` is contained in the block referenced by the `cidr`.",
  "arguments": [
    {
      "name": "cidr",
      "description": "The CIDR mask (v4 or v6).",
      "required": true,
      "type": [
        "string",
        "array"
      ]
    },
    {
      "name": "value",
      "description": "The IP address (v4 or v6).",
      "required": true,
      "type": [
        "string"
      ]
    }
  ],
  "return": {
    "types": [
      "boolean"
    ]
  },
  "internal_failure_reasons": [
    "`cidr` is not a valid CIDR.",
    "`ip` is not a valid IP address."
  ],
  "examples": [
    {
      "title": "IPv4 contains CIDR",
      "source": "ip_cidr_contains!(\"192.168.0.0/16\", \"192.168.10.32\")",
      "return": true
    },
    {
      "title": "IPv4 is private",
      "source": "ip_cidr_contains!([\"10.0.0.0/8\", \"172.16.0.0/12\", \"192.168.0.0/16\"], \"192.168.10.32\")",
      "return": true
    },
    {
      "title": "IPv6 contains CIDR",
      "source": "ip_cidr_contains!(\"2001:4f8:4:ba::/64\", \"2001:4f8:4:ba:2e0:81ff:fe22:d1f1\")",
      "return": true
    },
    {
      "title": "Not in range",
      "source": "ip_cidr_contains!(\"192.168.0.0/24\", \"192.168.10.32\")",
      "return": false
    },
    {
      "title": "Invalid address",
      "source": "ip_cidr_contains!(\"192.168.0.0/24\", \"INVALID\")",
      "raises": "function call error for \"ip_cidr_contains\" at (0:46): unable to parse IP address: invalid IP address syntax"
    }
  ],
  "pure": true
}