X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/2f66d4cc05e9442a9bb69969744d0750a02a1ed4..7aaf9f22aa646077b4b7fd961d6b731185b88137:/doc/api/methods.html.textile.liquid?ds=sidebyside diff --git a/doc/api/methods.html.textile.liquid b/doc/api/methods.html.textile.liquid index 872a1bca71..fd52917928 100644 --- a/doc/api/methods.html.textile.liquid +++ b/doc/api/methods.html.textile.liquid @@ -73,9 +73,9 @@ table(table table-bordered table-condensed). |limit |integer|Maximum number of resources to return. If not provided, server will provide a default limit. Server may also impose a maximum number of records that can be returned in a single request.|query| |offset |integer|Skip the first 'offset' number of resources that would be returned under the given filter conditions.|query| |filters |array |"Conditions for selecting resources to return.":#filters|query| -|order |array |Attributes to use as sort keys to determine the order resources are returned, each optionally followed by @asc@ or @desc@ to indicate ascending or descending order. +|order |array |Attributes to use as sort keys to determine the order resources are returned, each optionally followed by @asc@ or @desc@ to indicate ascending or descending order. (If not specified, it will be ascending). Example: @["head_uuid asc","modified_at desc"]@ -Default: @["created_at desc"]@|query| +Default: @["modified_at desc", "uuid asc"]@|query| |select |array |Set of attributes to include in the response. Example: @["head_uuid","tail_uuid"]@ Default: all available attributes. As a special case, collections do not return "manifest_text" unless explicitly selected.|query| @@ -96,18 +96,20 @@ table(table table-bordered table-condensed). |1|operator|string|Comparison operator|@>@, @>=@, @like@, @not in@| |2|operand|string, array, or null|Value to compare with the resource attribute|@"d00220fb%"@, @"1234"@, @["foo","bar"]@, @nil@| -The following operators are available.[1] +The following operators are available. table(table table-bordered table-condensed). |_. Operator|_. Operand type|_. Description|_. Example| -|@=@, @!=@|string, number, timestamp, or null|Equality comparison|@["tail_uuid","=","xyzzy-j7d0g-fffffffffffffff"]@ @["tail_uuid","!=",null]@| +|@=@, @!=@, @<>@|string, number, timestamp, JSON-encoded array, JSON-encoded object, or null|Equality comparison|@["tail_uuid","=","xyzzy-j7d0g-fffffffffffffff"]@ +@["tail_uuid","!=",null]@ +@["storage_classes_desired","=","[\"default\"]"]@| |@<@, @<=@, @>=@, @>@|string, number, or timestamp|Ordering comparison|@["script_version",">","123"]@| |@like@, @ilike@|string|SQL pattern match. Single character match is @_@ and wildcard is @%@. The @ilike@ operator is case-insensitive|@["script_version","like","d00220fb%"]@| -|@in@, @not in@|array of strings|Set membership|@["script_version","in",["master","d00220fb38d4b85ca8fc28a8151702a2b9d1dec5"]]@| +|@in@, @not in@|array of strings|Set membership|@["script_version","in",["main","d00220fb38d4b85ca8fc28a8151702a2b9d1dec5"]]@| |@is_a@|string|Arvados object type|@["head_uuid","is_a","arvados#collection"]@| -|@exists@|string|Test if a subproperty is present.|@["properties","exists","my_subproperty"]@| - -Note: +|@exists@|string|Presence of subproperty|@["properties","exists","my_subproperty"]@| +|@contains@|string, array of strings|Presence of one or more keys or array elements|@["storage_classes_desired", "contains", ["foo", "bar"]]@ (matches both @["foo", "bar"]@ and @["foo", "bar", "baz"]@) +(note @[..., "contains", "foo"]@ is also accepted, and is equivalent to @[..., "contains", ["foo"]]@)| h4(#substringsearchfilter). Filtering using substring search @@ -130,10 +132,26 @@ table(table table-bordered table-condensed). |@like@, @ilike@|string|SQL pattern match, single character match is @_@ and wildcard is @%@, ilike is case-insensitive|@["properties.my_subproperty", "like", "d00220fb%"]@| |@in@, @not in@|array of strings|Set membership|@["properties.my_subproperty", "in", ["fizz", "buzz"]]@| |@exists@|boolean|Test if a subproperty is present or not (determined by operand).|@["properties.my_subproperty", "exists", true]@| -|@contains@|string, number|Filter where subproperty has a value either by exact match or value is element of subproperty list.|@["foo", "contains", "bar"]@ will find both @{"foo": "bar"}@ and @{"foo": ["bar", "baz"]}@.| +|@contains@|string, number|Filter where subproperty has a value either by exact match or value is element of subproperty list.|@["properties.foo", "contains", "bar"]@ will find both @{"foo": "bar"}@ and @{"foo": ["bar", "baz"]}@.| Note that exclusion filters @!=@ and @not in@ will return records for which the property is not defined at all. To restrict filtering to records on which the subproperty is defined, combine with an @exists@ filter. +h4(#filterexpression). Filtering using boolean expressions + +In addition to the three-element array form described above, a string containing a boolean expression is also accepted. The following restrictions apply: +* The expression must contain exactly one operator. +* The operator must be @=@, @<@, @<=@, @>@, or @>=@. +* There must be exactly one pair of parentheses, surrounding the entire expression. +* Each operand must be the name of a numeric attribute like @replication_desired@ (literal values like @3@ and non-numeric attributes like @uuid@ are not accepted). +* The expression must not contain whitespace other than an ASCII space (newline and tab characters are not accepted). + +Examples: +* @(replication_desired > replication_confirmed)@ +* @(replication_desired = replication_confirmed)@ + +Both types of filter (boolean expressions and @[attribute, operator, operand]@ filters) can be combined in the same API call. Example: +* @{"filters": ["(replication_desired > replication_confirmed)", ["replication_desired", "<", 2]]}@ + h4. Federated listing Federated listing forwards a request to multiple clusters and combines the results. Currently only a very restricted form of the "list" method is supported. @@ -169,5 +187,3 @@ table(table table-bordered table-condensed). |_. Argument |_. Type |_. Description |_. Location | {background:#ccffcc}.|uuid|string|The UUID of the resource in question.|path|| |{resource_type}|object||query|| - -fn1^. NOTE: The filter operator for full-text search (@@) which previously worked (but was undocumented) is deprecated and will be removed in a future release.