Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Ruby) Google Cloud SQL - Get Instance InformationDemonstrates 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
require 'chilkat' # 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.. sbToken = Chilkat::CkStringBuilder.new() sbToken.LoadFile("qa_data/tokens/google_cloud_sql_access_token.txt","utf-8") http = Chilkat::CkHttp.new() # 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.put_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".) sbResponseBody = Chilkat::CkStringBuilder.new() success = http.QuickGetSb("https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",sbResponseBody) if (success == false) print http.lastErrorText() + "\n"; exit end jResp = Chilkat::CkJsonObject.new() jResp.LoadSb(sbResponseBody) jResp.put_EmitCompact(false) print "Response Body:" + "\n"; print jResp.emit() + "\n"; respStatusCode = http.get_LastStatus() print "Response Status Code = " + respStatusCode.to_s() + "\n"; if (respStatusCode == 401) print "It may be that your access token expired." + "\n"; print "Try refreshing the access token by re-fetching it." + "\n"; end if (respStatusCode >= 400) print "Response Header:" + "\n"; print http.lastHeader() + "\n"; print "Failed." + "\n"; exit 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 kind = jResp.stringOf("kind") state = jResp.stringOf("state") databaseVersion = jResp.stringOf("databaseVersion") settingsTier = jResp.stringOf("settings.tier") settingsKind = jResp.stringOf("settings.kind") settingsPricingPlan = jResp.stringOf("settings.pricingPlan") settingsReplicationType = jResp.stringOf("settings.replicationType") settingsActivationPolicy = jResp.stringOf("settings.activationPolicy") settingsIpConfigurationIpv4Enabled = jResp.BoolOf("settings.ipConfiguration.ipv4Enabled") settingsLocationPreferenceZone = jResp.stringOf("settings.locationPreference.zone") settingsLocationPreferenceKind = jResp.stringOf("settings.locationPreference.kind") settingsDataDiskType = jResp.stringOf("settings.dataDiskType") settingsBackupConfigurationStartTime = jResp.stringOf("settings.backupConfiguration.startTime") settingsBackupConfigurationKind = jResp.stringOf("settings.backupConfiguration.kind") settingsBackupConfigurationEnabled = jResp.BoolOf("settings.backupConfiguration.enabled") settingsBackupConfigurationPointInTimeEnabled = jResp.BoolOf("settings.backupConfiguration.pointInTimeEnabled") settingsSettingsVersion = jResp.stringOf("settings.settingsVersion") settingsStorageAutoResizeLimit = jResp.stringOf("settings.storageAutoResizeLimit") settingsStorageAutoResize = jResp.BoolOf("settings.storageAutoResize") settingsDataDiskSizeGb = jResp.stringOf("settings.dataDiskSizeGb") etag = jResp.stringOf("etag") serverCaCertKind = jResp.stringOf("serverCaCert.kind") serverCaCertCertSerialNumber = jResp.stringOf("serverCaCert.certSerialNumber") serverCaCertCert = jResp.stringOf("serverCaCert.cert") serverCaCertCommonName = jResp.stringOf("serverCaCert.commonName") serverCaCertSha1Fingerprint = jResp.stringOf("serverCaCert.sha1Fingerprint") serverCaCertInstance = jResp.stringOf("serverCaCert.instance") serverCaCertCreateTime = jResp.stringOf("serverCaCert.createTime") serverCaCertExpirationTime = jResp.stringOf("serverCaCert.expirationTime") instanceType = jResp.stringOf("instanceType") project = jResp.stringOf("project") serviceAccountEmailAddress = jResp.stringOf("serviceAccountEmailAddress") backendType = jResp.stringOf("backendType") selfLink = jResp.stringOf("selfLink") connectionName = jResp.stringOf("connectionName") name = jResp.stringOf("name") region = jResp.stringOf("region") gceZone = jResp.stringOf("gceZone") i = 0 count_i = jResp.SizeOfArray("settings.authorizedGaeApplications") while i < count_i jResp.put_I(i) i = i + 1 end i = 0 count_i = jResp.SizeOfArray("settings.ipConfiguration.authorizedNetworks") while i < count_i jResp.put_I(i) i = i + 1 end i = 0 count_i = jResp.SizeOfArray("ipAddresses") while i < count_i jResp.put_I(i) v_type = jResp.stringOf("ipAddresses[i].type") ipAddress = jResp.stringOf("ipAddresses[i].ipAddress") i = i + 1 end |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.