Skip to content

Instantly share code, notes, and snippets.

@shashyajoshi
shashyajoshi / get_instance_data.output
Created July 2, 2018 21:19
Output of get_instance_data.sh
$ bash get_instance_data.sh
project_id,name,labels-app-name,labels-biz-unit,labels-env-name,metadata-server-role,metadata-server-type,metadata-os-image
sj-test-070418,kube-master,micro-svc-app,it,qa,kubernetes,master,centos
sj-test-070218,db-server-1,myapp,engineering,non-prod,db,mysql,centos
sj-test-062218,app-server-1,misc,ecom,prod,app,tomcat,centos
sj-test-062218,web-server-1,misc,ecom,prod,web,nginx,centos
sj-test-062218,web-server-2,misc,ecom,prod,web,nginx,centos
@shashyajoshi
shashyajoshi / get_instance_data.sh
Last active December 1, 2023 06:02
Script to collect instance labels and metadata
#!/bin/bash
# Header row for the CSV output
echo "project_id,name,labels-app-name,labels-biz-unit,labels-env-name,metadata-server-role,metadata-server-type,metadata-os-image"
# for every project in the list get the required details. Remove CSV header from the gcloud output. Add the project id to the beginning of each row
for project in $(gcloud projects list --format="value(projectId)")
do
gcloud compute instances list --format="csv[no-heading](name, labels.app-name, labels.biz-unit, labels.env-name, metadata.items.server-role, metadata.items.server-type, metadata.items.os-image)" --project $project | sed "s/^/$project,/"
done