title: How to launch Google Compute instances programmatically?
body: <p>In the <a href="https://aws.amazon.com/sdk-for-java/" rel="nofollow">AWS SDK</a>, <a href="https://aws.amazon.com/ec2/" rel="nofollow">EC2</a> instances can be launched programmatically via the <a href="http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/ec2/AmazonEC2Client.html" rel="nofollow">AmazonEC2Client</a>. Does <a href="https://cloud.google.com/" rel="nofollow">GCP</a> in general or <a href="https://cloud.google.com/compute/" rel="nofollow">Compute Engine</a> specifically <a href="https://cloud.google.com/sdk/docs/scripting-gcloud" rel="nofollow">just offer the CLI-based</a> <code>gcloud</code> command for the equivalent operation? Or can GCE instances be controlled from Java/Python/Go/etc as well? Which SDK exists for those languages and where are the examples &amp; docs for this? </p>
  
  <p>I am looking for the equivalent of this in the GCP world:</p>
  
  <pre><code>client = new AmazonEC2Client(credentials);
  client.runInstances(new RunInstancesRequest())
  </code></pre>