5. 搜索
AWX 拥有一个强大的搜索工具,它提供跨多个功能的搜索和过滤功能。 可接受的搜索条件在搜索字段中“名称”下拉菜单的“高级”选项中提供了一个可扩展的“备忘单”。 从那里,使用“设置类型”、“键”、“查找类型”的组合进行筛选。
5.1. 搜索技巧
这些搜索技巧假设您没有搜索主机。 本节的大部分内容仍然适用于主机,但有一些细微的差别。 搜索的典型语法由一个字段(左侧)和一个值(右侧)组成。 使用冒号分隔要搜索的字段和值。 如果搜索没有冒号(请参见示例 3),则将其视为简单字符串搜索,其中发送 ?search=foobar
。 以下是用于搜索的语法示例
name:localhost
在此示例中,冒号之前的字符串表示要搜索的字段。 如果该字符串与“字段”或“相关字段”中的任何内容不匹配,则其处理方式与示例 3 相同(字符串搜索)。 冒号之后的字符串是在“名称”属性中要搜索的字符串。organization.name:Default
此示例显示了一个相关字段搜索。 左侧部分的句点将模型与字段分开,在本例中为。 根据搜索的深度/复杂程度,左侧部分中可能有多个句点。foobar
简单字符串(关键词)搜索,它将使用icontains
搜索针对名称和描述字段查找该词的所有实例。 如果词语之间使用空格(例如 foo bar),则将返回包含这两个词的所有结果。 如果词语用引号括起来(例如“foo bar”),AWX 将搜索整个字符串,词语一起出现。 具体的名称搜索将针对 API 名称进行搜索。 例如,用户界面中的Management job
在 API 中为system_job
。organization:Default
此示例显示了一个相关字段搜索,但没有指定与组织一起使用的字段。 API 支持这一点,它类似于简单字符串搜索,但针对组织进行(将针对名称和描述执行icontains
搜索)。
5.1.1. 搜索字段的值
要查找特定字段的值,请参考 API 端点以获取广泛的选项及其有效值。 例如,如果您想针对 /api/v2/jobs
-> type
字段进行搜索,您可以通过对 /api/v2/jobs
执行 OPTIONS 请求并查找 API 中针对 "type"
的条目来查找值。 此外,您可以通过滚动到每个屏幕的底部来查看相关搜索。 在 /api/v2/jobs
的示例中,相关搜索显示
"related_search_fields": [
"modified_by__search",
"project__search",
"project_update__search",
"credentials__search",
"unified_job_template__search",
"created_by__search",
"inventory__search",
"labels__search",
"schedule__search",
"webhook_credential__search",
"job_template__search",
"job_events__search",
"dependent_jobs__search",
"launch_config__search",
"unifiedjob_ptr__search",
"notifications__search",
"unified_job_node__search",
"instance_group__search",
"hosts__search",
"job_host_summaries__search"
字段的值来自 GET 请求中的键。 url
、related
和 summary_fields
不使用。 相关字段的值也来自 OPTIONS 响应,但来自不同的属性。 相关字段通过获取 related_search_fields
中的所有值并从末尾剥离 __search
来填充。
任何没有以字段值或相关字段值开头的搜索都将被视为通用字符串搜索。 搜索 localhost
等内容会导致 UI 发送 ?search=localhost
作为查询参数到 API 端点。 这是针对名称和描述字段的 icontains
搜索的快捷方式。
5.1.3. 其他搜索注意事项
以下是有关 AWX 中搜索的一些注意事项
目前不支持 OR 查询的语法。 所有搜索条件都在查询参数中被 AND。
搜索参数的左侧部分可以用引号括起来,以支持搜索包含空格的字符串。
目前,字段中的值是 GET 请求中预期的直接属性。 每当您针对某个值进行搜索时,AWX 本质上都会进行
__icontains
搜索。 因此,例如,name:localhost
会发送回?name__icontains=localhost
。 AWX 当前对每个字段值执行此搜索,即使是id
,这也不理想。
5.2. 排序
在适用情况下,使用每列中的箭头按升序或降序排序(以下是从计划列表中的示例)。
箭头的方向指示列的排序顺序。