class Fog::Google::SQL::Real
Creates a Cloud SQL instance as a clone of the source instance
@see developers.google.com/cloud-sql/docs/admin-api/v1beta3/instances/clone
Deletes a Cloud SQL instance
@see developers.google.com/cloud-sql/docs/admin-api/v1beta3/instances/delete
Deletes a SSL certificate. The change will not take effect until the instance is restarted.
@see developers.google.com/cloud-sql/docs/admin-api/v1beta3/sslCerts/delete
Exports data from a Cloud SQL instance to a Google Cloud Storage bucket as a MySQL dump file
@see developers.google.com/cloud-sql/docs/admin-api/v1beta3/instances/export
Retrieves a resource containing information about a backup run
@see developers.google.com/cloud-sql/docs/admin-api/v1beta3/backupRuns/get
Retrieves a resource containing information about a Cloud SQL instance
@see developers.google.com/cloud-sql/docs/admin-api/v1beta3/instances/get
Retrieves an instance operation that has been performed on an instance
@see developers.google.com/cloud-sql/docs/admin-api/v1beta3/operations/get
Retrieves a particular SSL certificate (does not include the private key)
@see developers.google.com/cloud-sql/docs/admin-api/v1beta3/sslCerts/get
Imports data into a Cloud SQL instance from a MySQL dump file in Google Cloud Storage
@see developers.google.com/cloud-sql/docs/admin-api/v1beta3/instances/import
Creates a new Cloud SQL instance
@see developers.google.com/cloud-sql/docs/admin-api/v1beta3/instances/insert
Creates an SSL certificate. The new certificate will not be usable until the instance is restarted.
@see developers.google.com/cloud-sql/docs/admin-api/v1beta3/sslCerts/insert
Lists all backup runs associated with a given instance and configuration in the reverse chronological order of the enqueued time
@see developers.google.com/cloud-sql/docs/admin-api/v1beta3/backupRuns/list
List all available database flags for Google Cloud SQL instances
@see developers.google.com/cloud-sql/docs/admin-api/v1beta3/flags/list
Lists instances under a given project in the alphabetical order of the instance name
@see developers.google.com/cloud-sql/docs/admin-api/v1beta3/instances/list
Lists all instance operations that have been performed on the given Cloud SQL instance in the reverse chronological order of the start time
@see developers.google.com/cloud-sql/docs/admin-api/v1beta3/operations/list
Lists all of the current SSL certificates for the instance
@see developers.google.com/cloud-sql/docs/admin-api/v1beta3/sslCerts/list
Lists all available service tiers for Google Cloud SQL
@see developers.google.com/cloud-sql/docs/admin-api/v1beta3/tiers/list
Deletes all client certificates and generates a new server SSL certificate for the instance. The changes will not take effect until the instance is restarted. Existing instances without a server certificate will need to call this once to set a server certificate
@see developers.google.com/cloud-sql/docs/admin-api/v1beta3/instances/resetSslConfig
Restarts a Cloud SQL instance
@see developers.google.com/cloud-sql/docs/admin-api/v1beta3/instances/restart
Restores a backup of a Cloud SQL instance
@see developers.google.com/cloud-sql/docs/admin-api/v1beta3/instances/restoreBackup
Sets the password for the root user
@see developers.google.com/cloud-sql/docs/admin-api/v1beta3/instances/setRootPassword
Updates settings of a Cloud SQL instance
@see developers.google.com/cloud-sql/docs/admin-api/v1beta3/instances/update
Attributes
Public Class Methods
# File lib/fog/google/sql/real.rb, line 10 def initialize(options) shared_initialize(options[:google_project], GOOGLE_SQL_API_VERSION, GOOGLE_SQL_BASE_URL) options[:google_api_scope_url] = GOOGLE_SQL_API_SCOPE_URLS.join(" ") @client = initialize_google_client(options) @sql = @client.discovered_api("sqladmin", api_version) end
Public Instance Methods
# File lib/fog/google/requests/sql/clone_instance.rb, line 10 def clone_instance(instance_id, destination_name, options = {}) # The @sql.instances.clone method is overrided by the standard Ruby clone method # so we cannot call it because it will just clone the @sql.instances instance. # Instead we need to find the proper method trough the discovered_methods. api_method = @sql.instances.discovered_methods.detect { |x| x.id == "sql.instances.clone" } parameters = { "project" => @project } body = { "cloneContext" => { "kind" => 'sql#cloneContext', "sourceInstanceName" => instance_id, "destinationInstanceName" => destination_name } } if options[:log_position] body["cloneContext"]["binLogCoordinates"] = { "kind" => 'sql#binLogCoordinates', "binLogFileName" => options[:log_filename], "binLogPosition" => options[:log_position] } end request(api_method, parameters, body) end
# File lib/fog/google/requests/sql/delete_instance.rb, line 10 def delete_instance(instance_id) api_method = @sql.instances.delete parameters = { "project" => @project, "instance" => instance_id } request(api_method, parameters) end
# File lib/fog/google/requests/sql/delete_ssl_cert.rb, line 10 def delete_ssl_cert(instance_id, sha1_fingerprint) api_method = @sql.ssl_certs.delete parameters = { "project" => @project, "instance" => instance_id, "sha1Fingerprint" => sha1_fingerprint } request(api_method, parameters) end
# File lib/fog/google/requests/sql/export_instance.rb, line 10 def export_instance(instance_id, uri, options = {}) api_method = @sql.instances.export parameters = { "project" => @project, "instance" => instance_id } body = { "exportContext" => { "kind" => 'sql#exportContext', "uri" => uri, "database" => Array(options[:databases]), "table" => Array(options[:tables]) } } request(api_method, parameters, body) end
# File lib/fog/google/requests/sql/get_backup_run.rb, line 10 def get_backup_run(instance_id, backup_configuration_id, due_time) api_method = @sql.backup_runs.get parameters = { "project" => @project, "instance" => instance_id, "backupConfiguration" => backup_configuration_id, "dueTime" => due_time } request(api_method, parameters) end
# File lib/fog/google/requests/sql/get_instance.rb, line 10 def get_instance(instance_id) api_method = @sql.instances.get parameters = { "project" => @project, "instance" => instance_id } request(api_method, parameters) end
# File lib/fog/google/requests/sql/get_operation.rb, line 10 def get_operation(instance_id, operation_id) api_method = @sql.operations.get parameters = { "project" => @project, "instance" => instance_id, "operation" => operation_id } request(api_method, parameters) end
# File lib/fog/google/requests/sql/get_ssl_cert.rb, line 10 def get_ssl_cert(instance_id, sha1_fingerprint) api_method = @sql.ssl_certs.get parameters = { "project" => @project, "instance" => instance_id, "sha1Fingerprint" => sha1_fingerprint } request(api_method, parameters) end
# File lib/fog/google/requests/sql/import_instance.rb, line 10 def import_instance(instance_id, uri, options = {}) api_method = @sql.instances.import parameters = { "project" => @project, "instance" => instance_id } body = { "importContext" => { "kind" => 'sql#importContext', "uri" => Array(uri), "database" => options[:database] } } request(api_method, parameters, body) end
# File lib/fog/google/requests/sql/insert_instance.rb, line 10 def insert_instance(name, tier, options = {}) api_method = @sql.instances.insert parameters = { "project" => @project } body = { "project" => @project, "instance" => name, "settings" => { "tier" => tier } } body["region"] = options[:region] if options[:region] if options[:activation_policy] body["settings"]["activationPolicy"] = options[:activation_policy] end if options[:autorized_gae_applications] body["settings"]["authorizedGaeApplications"] = Array(options[:autorized_gae_applications]) end if options[:backup_configuration] body["settings"]["backupConfiguration"] = options[:backup_configuration] end if options[:ip_configuration_authorized_networks] body["settings"]["ipConfiguration"] ||= {} body["settings"]["ipConfiguration"]["authorizedNetworks"] = Array(options[:ip_configuration_authorized_networks]) end if options[:ip_configuration_enabled] body["settings"]["ipConfiguration"] ||= {} body["settings"]["ipConfiguration"]["enabled"] = options[:ip_configuration_enabled] end if options[:ip_configuration_require_ssl] body["settings"]["ipConfiguration"] ||= {} body["settings"]["ipConfiguration"]["requireSsl"] = options[:ip_configuration_require_ssl] end if options[:location_preference_zone_follow_gae_application] body["settings"]["locationPreference"] ||= {} body["settings"]["locationPreference"]["followGaeApplication"] = options[:location_preference_zone_follow_gae_application] end if options[:location_preference_zone] body["settings"]["locationPreference"] ||= {} body["settings"]["locationPreference"]["zone"] = options[:location_preference_zone] end if options[:pricing_plan] body["settings"]["pricingPlan"] = options[:pricing_plan] end if options[:replication_type] body["settings"]["replicationType"] = options[:replication_type] end request(api_method, parameters, body) end
# File lib/fog/google/requests/sql/insert_ssl_cert.rb, line 10 def insert_ssl_cert(instance_id, common_name) api_method = @sql.ssl_certs.insert parameters = { "project" => @project, "instance" => instance_id } body = { "commonName" => common_name } request(api_method, parameters, body) end
# File lib/fog/google/requests/sql/list_backup_runs.rb, line 11 def list_backup_runs(instance_id, backup_configuration_id) api_method = @sql.backup_runs.list parameters = { "project" => @project, "instance" => instance_id, "backupConfiguration" => backup_configuration_id } request(api_method, parameters) end
# File lib/fog/google/requests/sql/list_flags.rb, line 10 def list_flags api_method = @sql.flags.list parameters = {} request(api_method, parameters) end
# File lib/fog/google/requests/sql/list_instances.rb, line 10 def list_instances api_method = @sql.instances.list parameters = { "project" => @project } request(api_method, parameters) end
# File lib/fog/google/requests/sql/list_operations.rb, line 11 def list_operations(instance_id) api_method = @sql.operations.list parameters = { "project" => @project, "instance" => instance_id } request(api_method, parameters) end
# File lib/fog/google/requests/sql/list_ssl_certs.rb, line 10 def list_ssl_certs(instance_id) api_method = @sql.ssl_certs.list parameters = { "project" => @project, "instance" => instance_id } request(api_method, parameters) end
# File lib/fog/google/requests/sql/list_tiers.rb, line 10 def list_tiers api_method = @sql.tiers.list parameters = { "project" => @project } request(api_method, parameters) end
# File lib/fog/google/requests/sql/reset_instance_ssl_config.rb, line 12 def reset_instance_ssl_config(instance_id) api_method = @sql.instances.reset_ssl_config parameters = { "project" => @project, "instance" => instance_id } request(api_method, parameters) end
# File lib/fog/google/requests/sql/restart_instance.rb, line 10 def restart_instance(instance_id) api_method = @sql.instances.restart parameters = { "project" => @project, "instance" => instance_id } request(api_method, parameters) end
# File lib/fog/google/requests/sql/restore_instance_backup.rb, line 10 def restore_instance_backup(identity, backup_configuration, due_time) api_method = @sql.instances.reset_ssl_config parameters = { "project" => @project, "instance" => identity, "backupConfiguration" => backup_configuration, "dueTime" => due_time } request(api_method, parameters) end
# File lib/fog/google/requests/sql/set_instance_root_password.rb, line 10 def set_instance_root_password(instance_id, password) api_method = @sql.instances.set_root_password parameters = { "project" => @project, "instance" => instance_id } body = { "setRootPasswordContext" => { "kind" => 'sql#setRootUserContext', "password" => password } } request(api_method, parameters, body) end
# File lib/fog/google/requests/sql/update_instance.rb, line 10 def update_instance(instance_id, settings_version, tier, options = {}) api_method = @sql.instances.update parameters = { "project" => @project, "instance" => instance_id } body = { "project" => @project, "instance" => instance_id, "settings" => { "settingsVersion" => settings_version, "tier" => tier } } if options[:activation_policy] body["settings"]["activationPolicy"] = options[:activation_policy] end if options[:autorized_gae_applications] body["settings"]["authorizedGaeApplications"] = Array(options[:autorized_gae_applications]) end if options[:backup_configuration] body["settings"]["backupConfiguration"] = options[:backup_configuration] end if options[:ip_configuration_authorized_networks] body["settings"]["ipConfiguration"] ||= {} body["settings"]["ipConfiguration"]["authorizedNetworks"] = Array(options[:ip_configuration_authorized_networks]) end if options[:ip_configuration_enabled] body["settings"]["ipConfiguration"] ||= {} body["settings"]["ipConfiguration"]["enabled"] = options[:ip_configuration_enabled] end if options[:ip_configuration_require_ssl] body["settings"]["ipConfiguration"] ||= {} body["settings"]["ipConfiguration"]["requireSsl"] = options[:ip_configuration_require_ssl] end if options[:location_preference_zone_follow_gae_application] body["settings"]["locationPreference"] ||= {} body["settings"]["locationPreference"]["followGaeApplication"] = options[:location_preference_zone_follow_gae_application] end if options[:location_preference_zone] body["settings"]["locationPreference"] ||= {} body["settings"]["locationPreference"]["zone"] = options[:location_preference_zone] end if options[:pricing_plan] body["settings"]["pricingPlan"] = options[:pricing_plan] end if options[:replication_type] body["settings"]["replicationType"] = options[:replication_type] end request(api_method, parameters, body) end