C#
C#
Google Cloud SQL - Get Instance Information
See more Google Cloud SQL Examples
Demonstrates how to get information about your Cloud SQL instances, including instance summary information, usage data, operation logs, and database logs.Chilkat C# Downloads
bool 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..
Chilkat.StringBuilder sbToken = new Chilkat.StringBuilder();
sbToken.LoadFile("qa_data/tokens/google_cloud_sql_access_token.txt","utf-8");
Chilkat.Http http = new Chilkat.Http();
// 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".)
Chilkat.StringBuilder sbResponseBody = new Chilkat.StringBuilder();
success = http.QuickGetSb("https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",sbResponseBody);
if (success == false) {
Debug.WriteLine(http.LastErrorText);
return;
}
Chilkat.JsonObject jResp = new Chilkat.JsonObject();
jResp.LoadSb(sbResponseBody);
jResp.EmitCompact = false;
Debug.WriteLine("Response Body:");
Debug.WriteLine(jResp.Emit());
int respStatusCode = http.LastStatus;
Debug.WriteLine("Response Status Code = " + Convert.ToString(respStatusCode));
if (respStatusCode == 401) {
Debug.WriteLine("It may be that your access token expired.");
Debug.WriteLine("Try refreshing the access token by re-fetching it.");
}
if (respStatusCode >= 400) {
Debug.WriteLine("Response Header:");
Debug.WriteLine(http.LastHeader);
Debug.WriteLine("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
string v_type;
string ipAddress;
string kind = jResp.StringOf("kind");
string state = jResp.StringOf("state");
string databaseVersion = jResp.StringOf("databaseVersion");
string settingsTier = jResp.StringOf("settings.tier");
string settingsKind = jResp.StringOf("settings.kind");
string settingsPricingPlan = jResp.StringOf("settings.pricingPlan");
string settingsReplicationType = jResp.StringOf("settings.replicationType");
string settingsActivationPolicy = jResp.StringOf("settings.activationPolicy");
bool settingsIpConfigurationIpv4Enabled = jResp.BoolOf("settings.ipConfiguration.ipv4Enabled");
string settingsLocationPreferenceZone = jResp.StringOf("settings.locationPreference.zone");
string settingsLocationPreferenceKind = jResp.StringOf("settings.locationPreference.kind");
string settingsDataDiskType = jResp.StringOf("settings.dataDiskType");
string settingsBackupConfigurationStartTime = jResp.StringOf("settings.backupConfiguration.startTime");
string settingsBackupConfigurationKind = jResp.StringOf("settings.backupConfiguration.kind");
bool settingsBackupConfigurationEnabled = jResp.BoolOf("settings.backupConfiguration.enabled");
bool settingsBackupConfigurationPointInTimeEnabled = jResp.BoolOf("settings.backupConfiguration.pointInTimeEnabled");
string settingsSettingsVersion = jResp.StringOf("settings.settingsVersion");
string settingsStorageAutoResizeLimit = jResp.StringOf("settings.storageAutoResizeLimit");
bool settingsStorageAutoResize = jResp.BoolOf("settings.storageAutoResize");
string settingsDataDiskSizeGb = jResp.StringOf("settings.dataDiskSizeGb");
string etag = jResp.StringOf("etag");
string serverCaCertKind = jResp.StringOf("serverCaCert.kind");
string serverCaCertCertSerialNumber = jResp.StringOf("serverCaCert.certSerialNumber");
string serverCaCertCert = jResp.StringOf("serverCaCert.cert");
string serverCaCertCommonName = jResp.StringOf("serverCaCert.commonName");
string serverCaCertSha1Fingerprint = jResp.StringOf("serverCaCert.sha1Fingerprint");
string serverCaCertInstance = jResp.StringOf("serverCaCert.instance");
string serverCaCertCreateTime = jResp.StringOf("serverCaCert.createTime");
string serverCaCertExpirationTime = jResp.StringOf("serverCaCert.expirationTime");
string instanceType = jResp.StringOf("instanceType");
string project = jResp.StringOf("project");
string serviceAccountEmailAddress = jResp.StringOf("serviceAccountEmailAddress");
string backendType = jResp.StringOf("backendType");
string selfLink = jResp.StringOf("selfLink");
string connectionName = jResp.StringOf("connectionName");
string name = jResp.StringOf("name");
string region = jResp.StringOf("region");
string gceZone = jResp.StringOf("gceZone");
int i = 0;
int 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;
}