shell: document query parameters
Change-Id: I3263aaf88e8cbd9d52446d92e4413248eb52382e Closes-Bug: #1567937
This commit is contained in:
parent
d6bf8ea8dc
commit
e9ca915772
|
@ -90,6 +90,20 @@ class MalformedQuery(Exception):
|
|||
"Malformed Query: %s" % reason)
|
||||
|
||||
|
||||
def add_query_argument(cmd, parser):
|
||||
return parser.add_argument(
|
||||
cmd,
|
||||
help="A query to filter resource. "
|
||||
"The syntax is a combination of attribute, operator and value. "
|
||||
"For example: id=90d58eea-70d7-4294-a49a-170dcdf44c3c would filter "
|
||||
"resource with a certain id. More complex queries can be built, "
|
||||
"e.g.: not (flavor_id!=\"1\" and memory>=24). "
|
||||
"Use \"\" to force data to be interpreted as string. "
|
||||
"Supported operators are: not, and, ∧ or, ∨, >=, <=, !=, >, <, =, ==, "
|
||||
"eq, ne, lt, gt, ge, le, in, like, ≠, ≥, ≤, like, in.",
|
||||
type=search_query_builder)
|
||||
|
||||
|
||||
def search_query_builder(query):
|
||||
try:
|
||||
parsed_query = expr.parseString(query, parseAll=True)[0]
|
||||
|
|
|
@ -219,8 +219,7 @@ class CliMeasuresAggregation(lister.Lister):
|
|||
parser.add_argument("--needed-overlap", type=float,
|
||||
help=("percent of datapoints in each "
|
||||
"metrics required"))
|
||||
parser.add_argument("--query", help="Query",
|
||||
type=utils.search_query_builder),
|
||||
utils.add_query_argument("--query", parser)
|
||||
parser.add_argument("--resource-type", default="generic",
|
||||
help="Resource type to query"),
|
||||
return parser
|
||||
|
|
|
@ -89,8 +89,7 @@ class CliResourceSearch(CliResourceList):
|
|||
|
||||
def get_parser(self, prog_name):
|
||||
parser = super(CliResourceSearch, self).get_parser(prog_name)
|
||||
parser.add_argument("query", help="Query",
|
||||
type=utils.search_query_builder)
|
||||
utils.add_query_argument("query", parser)
|
||||
return parser
|
||||
|
||||
def take_action(self, parsed_args):
|
||||
|
|
Loading…
Reference in New Issue