The bellow snippet will return the list of all enabled APIs (aka. Services) for the select Google Cloud Platform project.
import subprocess, os
project = "your-gcp-project"
export_dir = "export/"
command = (
f"gcloud services list --enabled --project {project}"
f" > {os.path.join(export_dir, project)}.txt"
)
status = subprocess.call(command, shell=True)
print("success:", status == 0, "\ncommand:", command)
The script relies on you having installed gcloud. The authentication is a one-time operation done during gcloud initialization after the installation, via gcloud init
.
Note: In the aforementioned snippet, you can notice the fstring is written as a form of a multi-line statement. I prefer this convention, I explain why in more details here.
One idea for the visualization step would be then to display the list of enabled apis per project on a heat-map.
Why Monitoring Enabled APIs
Monitoring the Services/APIs you have enabled on your Google Cloud Platform projects becomes handy when you want to limit exposure (security) and cost-related fees (FinOps). E.g. at the time of this writing, enabling services like BigQuery on a project is just one-click away that can easily be done via the UI. Some of them can potentially bill you with a prime-time subscription fee of €300.