【问题标题】:GCP gcloud API filtering tags for compute instance计算实例的 GCP gcloud API 过滤标签
【发布时间】:2020-10-09 01:35:57
【问题描述】:

我正在尝试查找特定项目中具有特定标签的所有虚拟机。 这行得通

gcloud compute instances list --project myproject --filter="(name=myvm) AND --filter="tags.items~*ngf*"

但是取出VM名称不起作用

gcloud compute instances list --project myproject --filter="tags.items~*ngf*"

错误信息是

ERROR: (gcloud.compute.instances.list) Filter expression RE pattern [*ngf*]: nothing to repeat at position 0

有什么想法吗?我尝试在过滤器中使用标签而不是 tags.items,但这似乎也不起作用。

【问题讨论】:

  • gcloud compute instances describe 我注意到我用create-with-container--labels 创建的VM 实际上没有我分配的标签。
  • 只是提醒您看看这里stackoverflow.com/help/someone-answers,如果您觉得我的回答有用,请考虑支持/接受它,谢谢!

标签: google-cloud-platform


【解决方案1】:

您遇到的问题是由于您使用的正则表达式造成的。

* 使生成的 RE 匹配前一个 RE 的 0 次或多次重复,尽可能多的重复。 ab* 将匹配“a”、“ab”或“a”后跟任意数量的“b”。

您可以查看以下link 以获取有关正则表达式的更多信息。

关于您的要求:

我正在尝试查找特定项目中具有特定标签的所有虚拟机。

请尝试使用以下命令:

gcloud compute instances list --filter="(tags.items ~ <<YOUR-NETWORK-TAG>>*)" --project <<MY-PROJECT>>

gcloud compute instances list --filter="(tags.items=<<YOUR-NETWORK-TAG>>)" --project <<MY-PROJECT>>

现在对于标签,您可以使用以下内容:

gcloud compute instances list --filter="(tags.items=<<YOUR-NETWORK-TAG>>) AND (labels.<<MY-LABEL>>:*)" --project <<MY-PROJECT>>

您可以查看此链接以查找更多示例:gcloud topic filters

【讨论】:

    猜你喜欢
    • 2023-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-13
    • 2021-10-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多