Lets compare trying to do create an RDS instance on AWS vs Creating one on CloudSQL
AWS:
1. Get AccessToken and AccessSecret from IAM
2. pip install boto
3. conn = boto.rds.connect_to_region("us-west-2")
4. db = conn.create_dbinstance("db-master-1", 10, 'db.m1.small', 'root', 'hunter2')
Done !
1. Get a Client Id and Client Secret
2. pip install google-api-python-client
3. Go through the OAuth Flow and run a server locally to capture the access token
4. Use the discovery api to generate a service object. Good Luck finding this in the documentation
5. use the uninspectable service object to create a cloudsql instance.
The reason I don't have code for steps 3,4 and 5 is because I gave up after wasting time trying to figure this out.
My point is that they've gotten into the habit of doing half assed work so I have no hopes that the've improved this time. Practically no way to automate this The only way to use this would be from the horribly slow GUIs that google provides.
EDIT:
I ended up using google cloud sdk cli and running the automations with subprocess.check_output(['gcloud', 'sql', 'instance' ... ])