# All Operators

## **String**

All string operators are case insensitive except for `~~=`.

| Symbol | Description                                |
| ------ | ------------------------------------------ |
| `=`    | Equal to value                             |
| `!=`   | Not equal to value                         |
| `~=`   | Matches pattern with `*` and `?` wildcards |
| `~~=`  | Matches regular expression                 |

## **Boolean**

| Symbol | Description        |
| ------ | ------------------ |
| `=`    | Equal to value     |
| `!=`   | Not equal to value |

## **Number and Integer**

| Symbol | Description                    |
| ------ | ------------------------------ |
| `=`    | Equal to value                 |
| `!=`   | Not equal to value             |
| `>`    | Greater than value             |
| `>=`   | Greater than or equal to value |
| `<`    | Less than value                |
| `<=`   | Less than or equal to value    |

## **IP Address**

| Symbol | Description                          |
| ------ | ------------------------------------ |
| `=`    | Equal to value                       |
| `!=`   | Not equal to value                   |
| `<<`   | Contained in the cidr given by value |

## **List**

| Symbol | Description             |
| ------ | ----------------------- |
| `[*]`  | Any element of the list |
| `[0]`  | Element at index 0      |

## **Dictionary**

| Symbol       | Description               |
| ------------ | ------------------------- |
| `:keys[*]`   | Any key of the dictionary |
| `:values[*]` | Any element at any key    |
| `["foo"]`    | Element at the key "foo"  |

## **Null**

| Symbol   | Description                               |
| -------- | ----------------------------------------- |
| `is`     | Checks that a field does not have a value |
| `is not` | Checks that a field does have a value     |
