DataFlex
DataFlex
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 DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoSbToken
Handle hoHttp
Variant vSbResponseBody
Handle hoSbResponseBody
Handle hoJResp
Integer iRespStatusCode
String sV_type
String sIpAddress
String sKind
String sState
String sDatabaseVersion
String sSettingsTier
String sSettingsKind
String sSettingsPricingPlan
String sSettingsReplicationType
String sSettingsActivationPolicy
Boolean iSettingsIpConfigurationIpv4Enabled
String sSettingsLocationPreferenceZone
String sSettingsLocationPreferenceKind
String sSettingsDataDiskType
String sSettingsBackupConfigurationStartTime
String sSettingsBackupConfigurationKind
Boolean iSettingsBackupConfigurationEnabled
Boolean iSettingsBackupConfigurationPointInTimeEnabled
String sSettingsSettingsVersion
String sSettingsStorageAutoResizeLimit
Boolean iSettingsStorageAutoResize
String sSettingsDataDiskSizeGb
String sEtag
String sServerCaCertKind
String sServerCaCertCertSerialNumber
String sServerCaCertCert
String sServerCaCertCommonName
String sServerCaCertSha1Fingerprint
String sServerCaCertInstance
String sServerCaCertCreateTime
String sServerCaCertExpirationTime
String sInstanceType
String sProject
String sServiceAccountEmailAddress
String sBackendType
String sSelfLink
String sConnectionName
String sName
String sRegion
String sGceZone
Integer i
Integer iCount_i
String sTemp1
Move False To iSuccess
// 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..
Get Create (RefClass(cComChilkatStringBuilder)) To hoSbToken
If (Not(IsComObjectCreated(hoSbToken))) Begin
Send CreateComObject of hoSbToken
End
Get ComLoadFile Of hoSbToken "qa_data/tokens/google_cloud_sql_access_token.txt" "utf-8" To iSuccess
Get Create (RefClass(cComChilkatHttp)) To hoHttp
If (Not(IsComObjectCreated(hoHttp))) Begin
Send CreateComObject of hoHttp
End
// 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.
Get ComGetAsString Of hoSbToken To sTemp1
Set ComAuthToken Of hoHttp To sTemp1
// 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".)
Get Create (RefClass(cComChilkatStringBuilder)) To hoSbResponseBody
If (Not(IsComObjectCreated(hoSbResponseBody))) Begin
Send CreateComObject of hoSbResponseBody
End
Get pvComObject of hoSbResponseBody to vSbResponseBody
Get ComQuickGetSb Of hoHttp "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id" vSbResponseBody To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoHttp To sTemp1
Showln sTemp1
Procedure_Return
End
Get Create (RefClass(cComChilkatJsonObject)) To hoJResp
If (Not(IsComObjectCreated(hoJResp))) Begin
Send CreateComObject of hoJResp
End
Get pvComObject of hoSbResponseBody to vSbResponseBody
Get ComLoadSb Of hoJResp vSbResponseBody To iSuccess
Set ComEmitCompact Of hoJResp To False
Showln "Response Body:"
Get ComEmit Of hoJResp To sTemp1
Showln sTemp1
Get ComLastStatus Of hoHttp To iRespStatusCode
Showln "Response Status Code = " iRespStatusCode
If (iRespStatusCode = 401) Begin
Showln "It may be that your access token expired."
Showln "Try refreshing the access token by re-fetching it."
End
If (iRespStatusCode >= 400) Begin
Showln "Response Header:"
Get ComLastHeader Of hoHttp To sTemp1
Showln sTemp1
Showln "Failed."
Procedure_Return
End
// 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
Get ComStringOf Of hoJResp "kind" To sKind
Get ComStringOf Of hoJResp "state" To sState
Get ComStringOf Of hoJResp "databaseVersion" To sDatabaseVersion
Get ComStringOf Of hoJResp "settings.tier" To sSettingsTier
Get ComStringOf Of hoJResp "settings.kind" To sSettingsKind
Get ComStringOf Of hoJResp "settings.pricingPlan" To sSettingsPricingPlan
Get ComStringOf Of hoJResp "settings.replicationType" To sSettingsReplicationType
Get ComStringOf Of hoJResp "settings.activationPolicy" To sSettingsActivationPolicy
Get ComBoolOf Of hoJResp "settings.ipConfiguration.ipv4Enabled" To iSettingsIpConfigurationIpv4Enabled
Get ComStringOf Of hoJResp "settings.locationPreference.zone" To sSettingsLocationPreferenceZone
Get ComStringOf Of hoJResp "settings.locationPreference.kind" To sSettingsLocationPreferenceKind
Get ComStringOf Of hoJResp "settings.dataDiskType" To sSettingsDataDiskType
Get ComStringOf Of hoJResp "settings.backupConfiguration.startTime" To sSettingsBackupConfigurationStartTime
Get ComStringOf Of hoJResp "settings.backupConfiguration.kind" To sSettingsBackupConfigurationKind
Get ComBoolOf Of hoJResp "settings.backupConfiguration.enabled" To iSettingsBackupConfigurationEnabled
Get ComBoolOf Of hoJResp "settings.backupConfiguration.pointInTimeEnabled" To iSettingsBackupConfigurationPointInTimeEnabled
Get ComStringOf Of hoJResp "settings.settingsVersion" To sSettingsSettingsVersion
Get ComStringOf Of hoJResp "settings.storageAutoResizeLimit" To sSettingsStorageAutoResizeLimit
Get ComBoolOf Of hoJResp "settings.storageAutoResize" To iSettingsStorageAutoResize
Get ComStringOf Of hoJResp "settings.dataDiskSizeGb" To sSettingsDataDiskSizeGb
Get ComStringOf Of hoJResp "etag" To sEtag
Get ComStringOf Of hoJResp "serverCaCert.kind" To sServerCaCertKind
Get ComStringOf Of hoJResp "serverCaCert.certSerialNumber" To sServerCaCertCertSerialNumber
Get ComStringOf Of hoJResp "serverCaCert.cert" To sServerCaCertCert
Get ComStringOf Of hoJResp "serverCaCert.commonName" To sServerCaCertCommonName
Get ComStringOf Of hoJResp "serverCaCert.sha1Fingerprint" To sServerCaCertSha1Fingerprint
Get ComStringOf Of hoJResp "serverCaCert.instance" To sServerCaCertInstance
Get ComStringOf Of hoJResp "serverCaCert.createTime" To sServerCaCertCreateTime
Get ComStringOf Of hoJResp "serverCaCert.expirationTime" To sServerCaCertExpirationTime
Get ComStringOf Of hoJResp "instanceType" To sInstanceType
Get ComStringOf Of hoJResp "project" To sProject
Get ComStringOf Of hoJResp "serviceAccountEmailAddress" To sServiceAccountEmailAddress
Get ComStringOf Of hoJResp "backendType" To sBackendType
Get ComStringOf Of hoJResp "selfLink" To sSelfLink
Get ComStringOf Of hoJResp "connectionName" To sConnectionName
Get ComStringOf Of hoJResp "name" To sName
Get ComStringOf Of hoJResp "region" To sRegion
Get ComStringOf Of hoJResp "gceZone" To sGceZone
Move 0 To i
Get ComSizeOfArray Of hoJResp "settings.authorizedGaeApplications" To iCount_i
While (i < iCount_i)
Set ComI Of hoJResp To i
Move (i + 1) To i
Loop
Move 0 To i
Get ComSizeOfArray Of hoJResp "settings.ipConfiguration.authorizedNetworks" To iCount_i
While (i < iCount_i)
Set ComI Of hoJResp To i
Move (i + 1) To i
Loop
Move 0 To i
Get ComSizeOfArray Of hoJResp "ipAddresses" To iCount_i
While (i < iCount_i)
Set ComI Of hoJResp To i
Get ComStringOf Of hoJResp "ipAddresses[i].type" To sV_type
Get ComStringOf Of hoJResp "ipAddresses[i].ipAddress" To sIpAddress
Move (i + 1) To i
Loop
End_Procedure