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.rb, line 122 def initialize(options) shared_initialize(options[:google_project], GOOGLE_SQL_API_VERSION, GOOGLE_SQL_BASE_URL) options.merge!(: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.find { |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, } } if options[:region] body['region'] = options[:region] end 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