Ansible gcp_compute库存插件 - 基于计算机名称的组



考虑以下 ansible gcp_compute库存插件的配置:

plugin: gcp_compute
projects:
  - myproj
scopes:
  - https://www.googleapis.com/auth/compute
filters:
  - ''
groups:
  connect: '"connect" in list"'
  gcp: 'True'
auth_kind: serviceaccount
service_account_file: ~/.gsutil/key.json

这对我有用,并将按预期将所有主机放在 gcp 组中。目前为止,一切都好。

但是,我想根据名称中出现的某些子字符串对我的机器进行分组。我该怎么做?

或者,更广泛地说,如何在groups字典中找到可用于 jinja 表达式的各种变量的描述?

可用的变量是响应中每个项目中可用的键,如下所示: https://cloud.google.com/compute/docs/reference/rest/v1/instances/list

所以,对于我的例子:

plugin: gcp_compute
projects:
  - myproj
scopes:
  - https://www.googleapis.com/auth/compute
filters:
  - ''
groups:
  connect: "'connect' in name"
  gcp: 'True'
auth_kind: serviceaccount
service_account_file: ~/.gsutil/key.json

为了完成准确的答案,根据参数"filter"中名称中出现的某些子字符串来选择机器,您可以添加例如这样的表达式:

filters:
  - 'name = gke*' 

此值仅列出其名称以 gke 开头的实例。

相关内容

  • 没有找到相关文章

最新更新