How to use gcloud commands programmatically via Python

Question:

The Google documentation is a little generic on this topic and I find it hard to get around the different APIs and terms they’re using, so I’m wondering if someone could point me to the right direction.

I’m looking for a way to call the gcloud command directly from Python. I’ve installed gcloud in my Python environment and as an example to follow, I’d like to know how to do the following from Python:

gcloud compute copy-files [Source directory or file name] [destination directory of file name]
Asked By: orange

||

Answers:

There’s nothing magic about uploading files to a Computer Engine VM. I ended up using paramiko to upload files.

Answered By: orange

You can of course call gcloud from python directly and not care about the implementation details, or you can try to see what gcloud does:

Try running gcloud compute copy-files with the –dry-run flag. That will expose the scp command it uses underneath and with what arguments. Knowing what scp params you need, you can recreate them programmatically using paramiko_scp in python. More information on this here: How to scp in python?

Answered By: Valentin

You should check out gcloud:
https://pypi.python.org/pypi/gcloud

Answered By: bossylobster

You can use the subprocess.run function in python to execute commands from your terminal/shell/bash. That is what I have done to execute gcloud commands from python, rather than using the Python SDK.

Answered By: Neil Bhutada