Sample code for 30+ languages & platforms
React Native

Google Cloud SQL - Stop Database Instance

See more Google Cloud SQL Examples

Demonstrates how to stop a Google Cloud SQL database instance.

Chilkat React Native Downloads

React Native
import { Http, HttpResponse, JsonObject, StringBuilder } from '@chilkat/react-native'

async function chilkatExample() {
  // 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..
  const sbToken = new StringBuilder();
  sbToken.loadFile('qa_data/tokens/google_cloud_sql_access_token.txt', 'utf-8');

  const 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": "NEVER" 
  //   }
  // }' \
  // 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": "NEVER"
  //   }
  // }

  const json = new JsonObject();
  json.updateString('settings.activationPolicy', 'NEVER');

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

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

  const 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".)
  const resp = new HttpResponse();
  try {
    await http.httpSbAsync('PATCH', 'https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id', sbRequestBody, 'utf-8', 'application/json', resp);
  } catch {
    console.log(http.lastErrorText);
    return;
  }

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

  console.log('Response Body:');
  console.log(jResp.emit());

  const respStatusCode = resp.statusCode;
  console.log(`Response Status Code = ${respStatusCode}`);
  if (respStatusCode === 401) {
    console.log('It may be that your access token expired.');
    console.log('Try refreshing the access token by re-fetching it.');
  }

  if (respStatusCode >= 400) {
    console.log('Response Header:');
    console.log(resp.header);
    console.log('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

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