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
(Perl) 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
use 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 == 0) { print $http->lastErrorText() . "\r\n"; exit; } $jResp = chilkat::CkJsonObject->new(); $jResp->LoadSb($sbResponseBody); $jResp->put_EmitCompact(0); print "Response Body:" . "\r\n"; print $jResp->emit() . "\r\n"; $respStatusCode = $http->get_LastStatus(); print "Response Status Code = " . $respStatusCode . "\r\n"; if ($respStatusCode == 401) { print "It may be that your access token expired." . "\r\n"; print "Try refreshing the access token by re-fetching it." . "\r\n"; } if ($respStatusCode >= 400) { print "Response Header:" . "\r\n"; print $http->lastHeader() . "\r\n"; print "Failed." . "\r\n"; exit; } # 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; } $i = 0; $count_i = $jResp->SizeOfArray("settings.ipConfiguration.authorizedNetworks"); while ($i < $count_i) { $jResp->put_I($i); $i = $i + 1; } $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; } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.