How to use gcloud commands programmatically via Python

17.6k views Asked by At

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]
4

There are 4 answers

0
orange On BEST ANSWER

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

4
Valentin On

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?

0
bossylobster On

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

0
Neil Bhutada On

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.