|
|
(JavaScript) Google Cloud SQL - Get Instance Information
Demonstrates how to get information about your Cloud SQL instances, including instance summary information, usage data, operation logs, and database logs. For more information, see https://cloud.google.com/sql/docs/mysql/instance-info
var success = false;
// 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..
var sbToken = new CkStringBuilder();
sbToken.LoadFile("qa_data/tokens/google_cloud_sql_access_token.txt","utf-8");
var http = new CkHttp();
// Implements the following CURL command:
// curl -X GET \
// -H "Authorization: Bearer access-token" \
// https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
// Use the following online tool to generate HTTP code from a CURL command
// Convert a cURL Command to HTTP Source Code
// Causes the "Authorization: Bearer "$(gcloud auth print-access-token)" header to be added.
http.AuthToken = sbToken.GetAsString();
// 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".)
var sbResponseBody = new CkStringBuilder();
success = http.QuickGetSb("https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",sbResponseBody);
if (success == false) {
console.log(http.LastErrorText);
return;
}
var jResp = new CkJsonObject();
jResp.LoadSb(sbResponseBody);
jResp.EmitCompact = false;
console.log("Response Body:");
console.log(jResp.Emit());
var respStatusCode = http.LastStatus;
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(http.LastHeader);
console.log("Failed.");
return;
}
// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)
// {
// "kind": "sql#instance",
// "state": "RUNNABLE",
// "databaseVersion": "MYSQL_5_7",
// "settings": {
// "authorizedGaeApplications": [
// ],
// "tier": "db-f1-micro",
// "kind": "sql#settings",
// "pricingPlan": "PER_USE",
// "replicationType": "SYNCHRONOUS",
// "activationPolicy": "ALWAYS",
// "ipConfiguration": {
// "authorizedNetworks": [
// ],
// "ipv4Enabled": true
// },
// "locationPreference": {
// "zone": "asia-east1-a",
// "kind": "sql#locationPreference"
// },
// "dataDiskType": "PD_SSD",
// "backupConfiguration": {
// "startTime": "08:00",
// "kind": "sql#backupConfiguration",
// "enabled": true,
// "pointInTimeEnabled": true
// },
// "settingsVersion": "13",
// "storageAutoResizeLimit": "0",
// "storageAutoResize": true,
// "dataDiskSizeGb": "10"
// },
// "etag": "etag-id",
// "ipAddresses": [
// {
// "type": "PRIMARY",
// "ipAddress": "10.0.0.1"
// }
// ],
// "serverCaCert": {
// "kind": "sql#sslCert",
// "certSerialNumber": "0",
// "cert": "certificate-id",
// "commonName": "C=US,O=Google\\, Inc,CN=Google Cloud SQL Server CA,dnQualifier=dn-qualifier-id",
// "sha1Fingerprint": "sha-id",
// "instance": "instance-id",
// "createTime": "2019-06-28T22:46:35.052Z",
// "expirationTime": "2029-06-25T22:47:35.052Z"
// },
// "instanceType": "CLOUD_SQL_INSTANCE",
// "project": "project-id",
// "serviceAccountEmailAddress": "service-acct-id@gcp-sa-cloud-sql.iam.gserviceaccount.com",
// "backendType": "SECOND_GEN",
// "selfLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
// "connectionName": "project-id:region:instance-id",
// "name": "instance-id",
// "region": "asia-east1",
// "gceZone": "asia-east1-a"
// }
// Sample code for parsing the JSON response...
// Use the following online tool to generate parsing code from sample JSON:
// Generate Parsing Code from JSON
var v_type;
var ipAddress;
var kind = jResp.StringOf("kind");
var state = jResp.StringOf("state");
var databaseVersion = jResp.StringOf("databaseVersion");
var settingsTier = jResp.StringOf("settings.tier");
var settingsKind = jResp.StringOf("settings.kind");
var settingsPricingPlan = jResp.StringOf("settings.pricingPlan");
var settingsReplicationType = jResp.StringOf("settings.replicationType");
var settingsActivationPolicy = jResp.StringOf("settings.activationPolicy");
var settingsIpConfigurationIpv4Enabled = jResp.BoolOf("settings.ipConfiguration.ipv4Enabled");
var settingsLocationPreferenceZone = jResp.StringOf("settings.locationPreference.zone");
var settingsLocationPreferenceKind = jResp.StringOf("settings.locationPreference.kind");
var settingsDataDiskType = jResp.StringOf("settings.dataDiskType");
var settingsBackupConfigurationStartTime = jResp.StringOf("settings.backupConfiguration.startTime");
var settingsBackupConfigurationKind = jResp.StringOf("settings.backupConfiguration.kind");
var settingsBackupConfigurationEnabled = jResp.BoolOf("settings.backupConfiguration.enabled");
var settingsBackupConfigurationPointInTimeEnabled = jResp.BoolOf("settings.backupConfiguration.pointInTimeEnabled");
var settingsSettingsVersion = jResp.StringOf("settings.settingsVersion");
var settingsStorageAutoResizeLimit = jResp.StringOf("settings.storageAutoResizeLimit");
var settingsStorageAutoResize = jResp.BoolOf("settings.storageAutoResize");
var settingsDataDiskSizeGb = jResp.StringOf("settings.dataDiskSizeGb");
var etag = jResp.StringOf("etag");
var serverCaCertKind = jResp.StringOf("serverCaCert.kind");
var serverCaCertCertSerialNumber = jResp.StringOf("serverCaCert.certSerialNumber");
var serverCaCertCert = jResp.StringOf("serverCaCert.cert");
var serverCaCertCommonName = jResp.StringOf("serverCaCert.commonName");
var serverCaCertSha1Fingerprint = jResp.StringOf("serverCaCert.sha1Fingerprint");
var serverCaCertInstance = jResp.StringOf("serverCaCert.instance");
var serverCaCertCreateTime = jResp.StringOf("serverCaCert.createTime");
var serverCaCertExpirationTime = jResp.StringOf("serverCaCert.expirationTime");
var instanceType = jResp.StringOf("instanceType");
var project = jResp.StringOf("project");
var serviceAccountEmailAddress = jResp.StringOf("serviceAccountEmailAddress");
var backendType = jResp.StringOf("backendType");
var selfLink = jResp.StringOf("selfLink");
var connectionName = jResp.StringOf("connectionName");
var name = jResp.StringOf("name");
var region = jResp.StringOf("region");
var gceZone = jResp.StringOf("gceZone");
var i = 0;
var count_i = jResp.SizeOfArray("settings.authorizedGaeApplications");
while (i < count_i) {
jResp.I = i;
i = i+1;
}
i = 0;
count_i = jResp.SizeOfArray("settings.ipConfiguration.authorizedNetworks");
while (i < count_i) {
jResp.I = i;
i = i+1;
}
i = 0;
count_i = jResp.SizeOfArray("ipAddresses");
while (i < count_i) {
jResp.I = i;
v_type = jResp.StringOf("ipAddresses[i].type");
ipAddress = jResp.StringOf("ipAddresses[i].ipAddress");
i = i+1;
}
|