Sample code for 30+ languages & platforms
Java

Google Cloud SQL - Start Database Instance

See more Google Cloud SQL Examples

Demonstrates how to start a Google Cloud SQL database instance.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Http;
import com.chilkatsoft.chilkat2.HttpResponse;
import com.chilkatsoft.chilkat2.JsonObject;
import com.chilkatsoft.chilkat2.StringBuilder;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example assumes the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        // In this example, Get Google Cloud SQL OAuth2 Access Token,
        // the service account access token was saved to a text file.  This example fetches the access token from the file..
        StringBuilder sbToken = new StringBuilder();
        sbToken.loadFile("qa_data/tokens/google_cloud_sql_access_token.txt", "utf-8");

        Http http = new Http();

        // Implements the following CURL command:

        // curl -X PATCH \
        // -H "Authorization: Bearer "$(gcloud auth print-access-token) \
        // -H "Content-Type: application/json; charset=utf-8" \
        // -d '{
        //   "settings": {
        //     "activationPolicy": "ALWAYS"
        //   }
        // }' \
        // https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

        // Use this online tool to generate code from sample JSON:
        // Generate Code to Create JSON

        // The following JSON is sent in the request body.

        // {
        //   "settings": {
        //     "activationPolicy": "ALWAYS"
        //   }
        // }

        // Use "ALWAYS" to start an instance.  Use "NEVER" to stop an instance.
        JsonObject json = new JsonObject();
        json.updateString("settings.activationPolicy", "ALWAYS");

        // Causes the "Authorization: Bearer "$(gcloud auth print-access-token)" header to be added.
        http.setAuthToken(sbToken.getAsString());

        http.setRequestHeader("Content-Type", "application/json; charset=utf-8");

        StringBuilder sbRequestBody = new StringBuilder();
        json.emitSb(sbRequestBody);

        // Replace "project-id" with your actual Google project ID.
        // Replace "instance-id" with your database instance ID, which is the name of your database.  (For example, when I created my test database I named it "chilkat", and therefore my instance-id is "chilkat".)
        HttpResponse resp = new HttpResponse();
        try {
            http.httpSb("PATCH", "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id", sbRequestBody, "utf-8", "application/json", resp);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        StringBuilder sbResponseBody = new StringBuilder();
        resp.getBodySb(sbResponseBody);
        JsonObject jResp = new JsonObject();
        jResp.loadSb(sbResponseBody);
        jResp.setEmitCompact(false);

        System.out.println("Response Body:");
        System.out.println(jResp.emit());

        int respStatusCode = resp.getStatusCode();
        System.out.println("Response Status Code = " + respStatusCode);
        if (respStatusCode == 401) {
            System.out.println("It may be that your access token expired.");
            System.out.println("Try refreshing the access token by re-fetching it.");
        }

        if (respStatusCode >= 400) {
            System.out.println("Response Header:");
            System.out.println(resp.getHeader());
            System.out.println("Failed.");
            return;
        }

        // Sample JSON response:
        // (Sample code for parsing the JSON response is shown below)

        // {
        //   "kind": "sql#operation",
        //   "targetLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
        //   "status": "PENDING",
        //   "user": "user@example.com",
        //   "insertTime": "2020-01-20T21:30:35.667Z",
        //   "operationType": "UPDATE",
        //   "name": "operation-id",
        //   "targetId": "instance-id",
        //   "selfLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
        //   "targetProject": "project-id"
        // }

        // Sample code for parsing the JSON response...
        // Use the following online tool to generate parsing code from sample JSON:
        // Generate Parsing Code from JSON

        String kind = jResp.stringOf("kind");
        String targetLink = jResp.stringOf("targetLink");
        String status = jResp.stringOf("status");
        String user = jResp.stringOf("user");
        String insertTime = jResp.stringOf("insertTime");
        String operationType = jResp.stringOf("operationType");
        String name = jResp.stringOf("name");
        String targetId = jResp.stringOf("targetId");
        String selfLink = jResp.stringOf("selfLink");
        String targetProject = jResp.stringOf("targetProject");
    }
}