google cloud platform - How to filter by tags in gcloud python client -


i using gcloud python client library(https://github.com/google/google-api-python-client) list of instances. able use filters name, status can't figure out way filter tags. able via gcloud cli tool.

getting list of machines works fine

instance_list = compute.instances().list(project=project,zone=zone).execute() 

even filter status works

instance_list = compute.instances().list(project=project,zone=zone,filter='status eq running').execute() 

but, filtering tags doesn't work

instance_list = compute.instances().list(project=project,zone=zone,filter='tags.items eq dev').execute() 

it returns http status 400. but, using gcloud cli tool, can succesfully run

gcloud compute instances list --filter="tags.items=dev" 

how can manage using python client library?

if @ gcloud compute instances describe instance-name output instance expect match you'll see relationship between tags , labels attributes. many google cloud api resources, including compute.instances, support labels. list of name=value pairs. compute.instances each tag label empty value.

--filter="labels.name:*" existence check label or tag name. compute api filter equivalent "labels.name eq '.*'".

for specific example use gcloud flag --filter="labels.dev:*" and/or compute api filter="labels.dev eq '.*'".

you can use google apis explorer play compute.instances filter expressions.


Comments

Popular posts from this blog

Is there a better way to structure post methods in Class Based Views -

reflection - How to access the object-members of an object declaration in kotlin -

php - Doctrine Query Builder Error on Join: [Syntax Error] line 0, col 87: Error: Expected Literal, got 'JOIN' -