OK
{- "items": [
- {
- "id": "string",
- "type": "string",
- "reference": "string",
- "engine_name": "string",
- "engine_id": "string",
- "virtual_source_definition": { },
- "linked_source_definition": { },
- "discovery_definition": { },
- "upgrade_definition": { },
- "snapshot_parameters_definition": { },
- "tags": [
- {
- "key": "key-1",
- "value": "value-1"
}
]
}
], - "response_metadata": {
- "prev_cursor": "string",
- "next_cursor": "string",
- "total": 0
}
}
A request body containing a filter expression. This enables searching for items matching arbitrarily complex conditions. The list of attributes which can be used in filter expressions is available in the x-filterable vendor extension.
Note: All keywords are case-insensitive
Operator | Description | Example |
---|---|---|
CONTAINS | Substring or membership testing for string and list attributes respectively. | field3 CONTAINS 'foobar', field4 CONTAINS TRUE |
IN | Tests if field is a member of a list literal. List can contain a maximum of 100 values | field2 IN ['Goku', 'Vegeta'] |
GE | Tests if a field is greater than or equal to a literal value | field1 GE 1.2e-2 |
GT | Tests if a field is greater than a literal value | field1 GT 1.2e-2 |
LE | Tests if a field is less than or equal to a literal value | field1 LE 9000 |
LT | Tests if a field is less than a literal value | field1 LT 9.02 |
NE | Tests if a field is not equal to a literal value | field1 NE 42 |
EQ | Tests if a field is equal to a literal value | field1 EQ 42 |
The SEARCH operator filters for items which have any filterable
attribute that contains the input string as a substring, comparison
is done case-insensitively. This is not restricted to attributes with
string values. Specifically SEARCH '12'
would match an item with an
attribute with an integer value of 123
.
Ordered by precedence.
Operator | Description | Example |
---|---|---|
NOT | Logical NOT (Right associative) | NOT field1 LE 9000 |
AND | Logical AND (Left Associative) | field1 GT 9000 AND field2 EQ 'Goku' |
OR | Logical OR (Left Associative) | field1 GT 9000 OR field2 EQ 'Goku' |
Parenthesis ()
can be used to override operator precedence.
For example: NOT (field1 LT 1234 AND field2 CONTAINS 'foo')
Literal | Description | Examples |
---|---|---|
Nil | Represents the absence of a value | nil, Nil, nIl, NIL |
Boolean | true/false boolean | true, false, True, False, TRUE, FALSE |
Number | Signed integer and floating point numbers. Also supports scientific notation. | 0, 1, -1, 1.2, 0.35, 1.2e-2, -1.2e+2 |
String | Single or double quoted | "foo", "bar", "foo bar", 'foo', 'bar', 'foo bar' |
Datetime | Formatted according to RFC3339 | 2018-04-27T18:39:26.397237+00:00 |
List | Comma-separated literals wrapped in square brackets | [0], [0, 1], ['foo', "bar"] |
OK
An example of a nested Object comparison testing that at least one repository has a version which is equal to 19.0.0.
{- "filter_expression": "repositories CONTAINS {version eq '19.0.0'}"
}
{- "items": [
- {
- "id": "string",
- "type": "string",
- "reference": "string",
- "engine_name": "string",
- "engine_id": "string",
- "virtual_source_definition": { },
- "linked_source_definition": { },
- "discovery_definition": { },
- "upgrade_definition": { },
- "snapshot_parameters_definition": { },
- "tags": [
- {
- "key": "key-1",
- "value": "value-1"
}
]
}
], - "response_metadata": {
- "prev_cursor": "string",
- "next_cursor": "string",
- "total": 0
}
}
{- "id": "string",
- "type": "string",
- "reference": "string",
- "engine_name": "string",
- "engine_id": "string",
- "virtual_source_definition": { },
- "linked_source_definition": { },
- "discovery_definition": { },
- "upgrade_definition": { },
- "snapshot_parameters_definition": { },
- "tags": [
- {
- "key": "key-1",
- "value": "value-1"
}
]
}