検索条件式の構文をBNFで次に示します。
storage-tier-filter-condition ::= and-search-condition
| or-search-condition
and-search-condition ::= comparison-predicate
| and-search-condition "AND" and-search-condition
| "(" and-search-condition ")"
or-search-condition ::= comparison-predicate
| or-search-condition "OR" or-search-condition
| "(" or-search-condition ")"
volume-filter-condition ::= term | volume-filter-condition "OR" volume-filter-condition
term ::= factor | term "AND" term
factor ::= test | "NOT" factor
test ::= comparison-predicate | "(" volume-filter-condition ")"
pool-filter-condition ::= pool-term | pool-filter-condition "OR" pool-filter-condition
pool-term ::= pool-factor | pool-term "AND" pool-term
pool-factor ::= pool-test | "NOT" pool-factor
pool-test ::= comparison-predicate | "(" pool-filter-condition ")"
unused-capacity-filter-condition ::= unused-capacity-term
| unused-capacity-filter-condition "OR" unused-capacity-filter-condition
unused-capacity-term ::= unused-capacity-factor
| unused-capacity-term "AND" unused-capacity-term
unused-capacity-factor ::= unused-capacity-test | "NOT" unused-capacity-factor
unused-capacity-test ::= comparison-predicate
| "(" unused-capacity-filter-condition ")"
comparison-predicate ::= symbol comp-op literal
symbol ::= name
comp-op ::= "=" | "<>" | "<" | ">" | "<=" | ">=" | "startsWith"
| "contains"| "endsWith"
literal ::= string-literal | numeric-literal
numeric-literal ::= digit { digit }
digit ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
繰り返し指定について次に示します。
comp-opの種類と意味を次に示します。