class Fog::Google::SQL::Mock
Public Class Methods
data()
click to toggle source
# File lib/fog/google/sql/mock.rb, line 11 def self.data @data ||= Hash.new do |hash, key| hash[key] = { :backup_runs => {}, :instances => {}, :operations => {}, :ssl_certs => {} } end end
new(options)
click to toggle source
# File lib/fog/google/sql/mock.rb, line 7 def initialize(options) shared_initialize(options[:google_project], GOOGLE_SQL_API_VERSION, GOOGLE_SQL_BASE_URL) end
reset()
click to toggle source
# File lib/fog/google/sql/mock.rb, line 22 def self.reset @data = nil end
Public Instance Methods
clone_instance(instance_id, destination_name, _options = {})
click to toggle source
# File lib/fog/google/requests/sql/clone_instance.rb, line 40 def clone_instance(instance_id, destination_name, _options = {}) data[:instances][destination_name] = data[:instances][instance_id] data[:instances][destination_name]["instance"] = destination_name data[:ssl_certs][destination_name] = {} data[:backup_runs][destination_name] = {} operation = random_operation data[:operations][destination_name] ||= {} data[:operations][destination_name][operation] = { "kind" => 'sql#instanceOperation', "instance" => destination_name, "operation" => operation, "operationType" => "CREATE", "state" => Fog::Google::SQL::Operation::DONE_STATE, "userEmailAddress" => "google_client_email@developer.gserviceaccount.com", "enqueuedTime" => Time.now.iso8601, "startTime" => Time.now.iso8601, "endTime" => Time.now.iso8601 } operation = random_operation data[:operations][instance_id] ||= {} data[:operations][instance_id][operation] = { "kind" => 'sql#instanceOperation', "instance" => instance_id, "operation" => operation, "operationType" => "CLONE", "state" => Fog::Google::SQL::Operation::DONE_STATE, "userEmailAddress" => "google_client_email@developer.gserviceaccount.com", "enqueuedTime" => Time.now.iso8601, "startTime" => Time.now.iso8601, "endTime" => Time.now.iso8601 } body = { "kind" => 'sql#instancesClone', "operation" => operation } build_excon_response(body) end
data()
click to toggle source
# File lib/fog/google/sql/mock.rb, line 26 def data self.class.data[project] end
delete_instance(instance_id)
click to toggle source
# File lib/fog/google/requests/sql/delete_instance.rb, line 22 def delete_instance(instance_id) if data[:instances].key?(instance_id) data[:instances].delete(instance_id) data[:ssl_certs].delete(instance_id) data[:backup_runs].delete(instance_id) operation = random_operation data[:operations][instance_id] ||= {} data[:operations][instance_id][operation] = { "kind" => 'sql#instanceOperation', "instance" => instance_id, "operation" => operation, "operationType" => "DELETE", "state" => Fog::Google::SQL::Operation::PENDING_STATE, "userEmailAddress" => "google_client_email@developer.gserviceaccount.com", "enqueuedTime" => Time.now.iso8601 } body = { "kind" => 'sql#instancesDelete', "operation" => operation } status = 200 else body = { "error" => { "errors" => [ { "domain" => "global", "reason" => "notAuthorized", "message" => "The client is not authorized to make this request." } ], "code" => 403, "message" => "The client is not authorized to make this request." } } status = 403 end build_excon_response(body, status) end
delete_ssl_cert(instance_id, sha1_fingerprint)
click to toggle source
# File lib/fog/google/requests/sql/delete_ssl_cert.rb, line 23 def delete_ssl_cert(instance_id, sha1_fingerprint) if data[:ssl_certs].key?(instance_id) data[:ssl_certs][instance_id].delete(sha1_fingerprint) operation = random_operation data[:operations][instance_id] ||= {} data[:operations][instance_id][operation] = { "kind" => 'sql#instanceOperation', "instance" => instance_id, "operation" => operation, "operationType" => "UPDATE", "state" => Fog::Google::SQL::Operation::DONE_STATE, "userEmailAddress" => "google_client_email@developer.gserviceaccount.com", "enqueuedTime" => Time.now.iso8601, "startTime" => Time.now.iso8601, "endTime" => Time.now.iso8601 } body = { "kind" => 'sql#sslCertsDelete', "operation" => operation } status = 200 else body = { "error" => { "errors" => [ { "domain" => "global", "reason" => "notAuthorized", "message" => "The client is not authorized to make this request." } ], "code" => 403, "message" => "The client is not authorized to make this request." } } status = 403 end build_excon_response(body, status) end
export_instance(instance_id, _uri, _options = {})
click to toggle source
# File lib/fog/google/requests/sql/export_instance.rb, line 31 def export_instance(instance_id, _uri, _options = {}) operation = random_operation data[:operations][instance_id] ||= {} data[:operations][instance_id][operation] = { "kind" => 'sql#instanceOperation', "instance" => instance_id, "operation" => operation, "operationType" => "EXPORT", "state" => Fog::Google::SQL::Operation::DONE_STATE, "userEmailAddress" => "google_client_email@developer.gserviceaccount.com", "enqueuedTime" => Time.now.iso8601, "startTime" => Time.now.iso8601, "endTime" => Time.now.iso8601 } body = { "kind" => 'sql#instancesExport', "operation" => operation } build_excon_response(body) end
get_backup_run(_instance_id, _backup_configuration_id, _due_time)
click to toggle source
# File lib/fog/google/requests/sql/get_backup_run.rb, line 24 def get_backup_run(_instance_id, _backup_configuration_id, _due_time) Fog::Mock.not_implemented end
get_instance(instance_id)
click to toggle source
# File lib/fog/google/requests/sql/get_instance.rb, line 22 def get_instance(instance_id) if data[:instances].key?(instance_id) body = data[:instances][instance_id] status = 200 else body = { "error" => { "errors" => [ { "domain" => "global", "reason" => "notAuthorized", "message" => "The client is not authorized to make this request." } ], "code" => 403, "message" => "The client is not authorized to make this request." } } status = 403 end build_excon_response(body, status) end
get_operation(instance_id, operation_id)
click to toggle source
# File lib/fog/google/requests/sql/get_operation.rb, line 23 def get_operation(instance_id, operation_id) if data[:operations].key?(instance_id) if data[:operations][instance_id].key?(operation_id) body = data[:operations][instance_id][operation_id] status = 200 else body = { "error" => { "errors" => [ { "domain" => "global", "reason" => "operationDoesNotExist", "message" => "The Cloud SQL instance operation does not exist." } ], "code" => 404, "message" => "The Cloud SQL instance operation does not exist." } } status = 404 end else body = { "error" => { "errors" => [ { "domain" => "global", "reason" => "notAuthorized", "message" => "The client is not authorized to make this request." } ], "code" => 403, "message" => "The client is not authorized to make this request." } } status = 403 end build_excon_response(body, status) end
get_ssl_cert(instance_id, sha1_fingerprint)
click to toggle source
# File lib/fog/google/requests/sql/get_ssl_cert.rb, line 23 def get_ssl_cert(instance_id, sha1_fingerprint) if data[:ssl_certs].key?(instance_id) if data[:ssl_certs][instance_id].key?(sha1_fingerprint) body = data[:ssl_certs][instance_id][sha1_fingerprint] status = 200 else body = { "error" => { "errors" => [ { "domain" => "global", "reason" => "sslCertificateDoesNotExist", "message" => "The SSL certificate does not exist." } ], "code" => 404, "message" => "The SSL certificate does not exist." } } status = 404 end else body = { "error" => { "errors" => [ { "domain" => "global", "reason" => "notAuthorized", "message" => "The client is not authorized to make this request." } ], "code" => 403, "message" => "The client is not authorized to make this request." } } status = 403 end build_excon_response(body, status) end
import_instance(instance_id, _uri, _options = {})
click to toggle source
# File lib/fog/google/requests/sql/import_instance.rb, line 30 def import_instance(instance_id, _uri, _options = {}) operation = random_operation data[:operations][instance_id] ||= {} data[:operations][instance_id][operation] = { "kind" => 'sql#instanceOperation', "instance" => instance_id, "operation" => operation, "operationType" => "IMPORT", "state" => Fog::Google::SQL::Operation::DONE_STATE, "userEmailAddress" => "google_client_email@developer.gserviceaccount.com", "enqueuedTime" => Time.now.iso8601, "startTime" => Time.now.iso8601, "endTime" => Time.now.iso8601 } body = { "kind" => 'sql#instancesImport', "operation" => operation } build_excon_response(body) end
insert_instance(name, tier, options = {})
click to toggle source
# File lib/fog/google/requests/sql/insert_instance.rb, line 66 def insert_instance(name, tier, options = {}) data = { "kind" => 'sql#instance', "instance" => name, "etag" => Fog::Mock.random_base64(32), "project" => @project, "state" => Fog::Google::SQL::Instance::RUNNABLE_STATE, "databaseVersion" => "MYSQL_5_5", "region" => options[:region] || "us-central", "currentDiskSize" => "86245269", "maxDiskSize" => "268435456000", "settings" => { "kind" => 'sql#settings', "settingsVersion" => "1", "tier" => tier, "backupConfiguration" => [ { "kind" => 'sql#backupConfiguration', "startTime" => "04:00", "enabled" => false, "id" => Fog::Mock.random_hex(32), "binaryLogEnabled" => false } ], "pricingPlan" => options[:pricing_plan] || "PER_USE", "replicationType" => options[:replication_type] || "SYNCHRONOUS", "activationPolicy" => options[:activation_policy] || "ON_DEMAND", "ipConfiguration" => { "enabled" => false }, "locationPreference" => { "kind" => 'sql#locationPreference' } }, "serverCaCert" => { "kind" => 'sql#sslCert', "instance" => name, "sha1Fingerprint" => Fog::Mock.random_hex(40), "commonName" => 'C=US,O=Google\, Inc,CN=Google Cloud SQL Server CA', "certSerialNumber" => "0", "cert" => "-----BEGIN CERTIFICATE-----\nMIIDITCCAgmgAwIBAgIBADANBgkqhkiG9w0BAQUFADBIMSMwIQYDVQQDExpHb29n\nbGUgQ2xvdWQgU1FMIFNlcnZlciBDQTEUMBIGA1UEChMLR29vZ2xlLCBJbmMxCzAJ\nBgNVBAYTAlVTMB4XDTE0MDYwNDA1MjkxMVoXDTI0MDYwMTA1MjkxMVowSDEjMCEG\nA1UEAxMaR29vZ2xlIENsb3VkIFNRTCBTZXJ2ZXIgQ0ExFDASBgNVBAoTC0dvb2ds\nZSwgSW5jMQswCQYDVQQGEwJVUzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC\nggEBALlRjq3zccH5ed6NMfCFcTYd9XxYXyvLurxxjDIA6A7/ymVM9qdQC0uckf7C\nsi4uMi2yfK+PHZ0jXC+g0uPx5RTm+nbKl4I++VOh2g6oZHeNdFt4rVJpr+jzGUMf\nr67SymUr70TQOTEVpx2Ud3rBB2szulxWUSXEy2AGA3uNUGe/IgENh7p56s00Sr97\nTRP1S5/JVMalncgNVLH2nNqBQJZTx9t9qvGatoUfmHUU0+M//J5sXLbgdzeEeeot\nHJUyoXjA2sRkH1+F/d6PpFrcr1I8dVmCBEbTAnm7HpKh5Mx2nRYi+t/y9D2Mblwx\n9dBRfr3WIJ1JDxzt3L8CtBGZbvUCAwEAAaMWMBQwEgYDVR0TAQH/BAgwBgEB/wIB\nADANBgkqhkiG9w0BAQUFAAOCAQEAmHuBecPc265sbd26B1HXUAD6FHdzoZLrAZVW\n+1eIK4E669P4y6LkLuoCkLd64/YwA4K2FioksqgHOahbYWJJYPymy4ae+IPXzXcY\nPv3gmBsKk++sHb64D9Cj/k5n8BEiVmmrsUCUiL75nJAzK+El3hvKKWWl76XX/qHP\nk8ZAxIrn8bCiVOaj6NR4+p1OmcZSPNWxz7j/EwQxoABRxgPgt+B/YRseevww7an2\n/rGs0sk7RE0QDjLfZblYGh+xVPBBLuLmf4L5JNJkFEoeGSWrxTzvXnS+2LZeHdM/\nJ9nsiKu5JKPhMUS0vOcTymOkh8tJ6Np8gwg6ca4g6dT3llE6uQ==\n-----END CERTIFICATE-----", "createTime" => Time.now.iso8601, "expirationTime" => Time.now.iso8601 } } if options[:autorized_gae_applications] data["settings"]["authorizedGaeApplications"] = Array(options[:autorized_gae_applications]) end if options[:backup_configuration] data["settings"]["backupConfiguration"] = options[:backup_configuration] end if options[:ip_configuration_authorized_networks] data["settings"]["ipConfiguration"]["authorizedNetworks"] = Array(options[:ip_configuration_authorized_networks]) end if options[:ip_configuration_enabled] data["settings"]["ipConfiguration"]["enabled"] = options[:ip_configuration_enabled] end if options[:ip_configuration_require_ssl] data["settings"]["ipConfiguration"]["requireSsl"] = options[:ip_configuration_require_ssl] end if options[:location_preference_zone_follow_gae_application] data["settings"]["locationPreference"]["followGaeApplication"] = options[:location_preference_zone_follow_gae_application] end if options[:location_preference_zone] data["settings"]["locationPreference"]["zone"] = options[:location_preference_zone] end self.data[:instances][name] = data self.data[:ssl_certs][name] = {} self.data[:backup_runs][name] = {} operation = random_operation self.data[:operations][name] ||= {} self.data[:operations][name][operation] = { "kind" => 'sql#instanceOperation', "instance" => name, "operation" => operation, "operationType" => "CREATE", "state" => Fog::Google::SQL::Operation::DONE_STATE, "userEmailAddress" => "google_client_email@developer.gserviceaccount.com", "enqueuedTime" => Time.now.iso8601, "startTime" => Time.now.iso8601, "endTime" => Time.now.iso8601 } body = { "kind" => 'sql#instancesInsert', "operation" => operation } status = 200 build_excon_response(body, status) end
insert_ssl_cert(instance_id, common_name)
click to toggle source
# File lib/fog/google/requests/sql/insert_ssl_cert.rb, line 26 def insert_ssl_cert(instance_id, common_name) if data[:ssl_certs].key?(instance_id) sha1_fingerprint = Fog::Mock.random_hex(40) data = { "kind" => 'sql#sslCert', "instance" => instance_id, "sha1Fingerprint" => sha1_fingerprint, "commonName" => common_name, "certSerialNumber" => Fog::Mock.random_numbers(9), "cert" => "-----BEGIN CERTIFICATE-----\nMIIC/zCCAeegAwIBAgIELAk5vzANBgkqhkiG9w0BAQUFADBNMSgwJgYDVQQDEx9H\nb29nbGUgQ2xvdWQgU1FMIENsaWVudCBDQSB0ZXN0MRQwEgYDVQQKEwtHb29nbGUs\nIEluYzELMAkGA1UEBhMCVVMwHhcNMTQwNjA0MDY1MjAwWhcNMjQwNjAxMDY1MjAw\nWjAyMQ0wCwYDVQQDEwR0ZXN0MRQwEgYDVQQKEwtHb29nbGUsIEluYzELMAkGA1UE\nBhMCVVMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9G9ZG19n978EW\n5bQ/TM1Fnb4fd/FRT8XMs2D5C7+dKLEgbeUOvZQt4EsQ6cC+UVhoK7N6DvnXAZ1M\ng+B159Xlqjv8Mh5RihfGjPCdlw2pF7Pu68LyYghvQLhi7yhuNeaN+FBeKvjcW9k0\ni54AM8Ub2a/kxAwMtXm1kGtgc1+qkUlyBxfn1UoKI5Dhvw/InxgI1kS/VUkkk9kv\n0q/oyPrboE/vuSitDq+pHjRFwrIQcS6Pz9DYHhZVyDDkTIh7vLXM0JEQRT1SiA8k\n+4hwXI3WBqPRZRI4H1KmYSSIKvZtci63SbM/rHitXkGipFF1lw0gSqfpM8gG36fl\naITBPI97AgMBAAGjAjAAMA0GCSqGSIb3DQEBBQUAA4IBAQCOvRWYdcaYl/qHgif8\nvD4QEQLiy3+Hn5zSLQEcqP/BymhUw4LSGhu8NJxJ26PvlHzAnWa2/OkTCkgSpM4k\nkebO2vyuU8XY/7FeRO3uNktEAp2Aw1RYJ/IqSDvjpg5/hJTHKADrAkiu2SyCJvoO\nqblzBO7TvLj5BBdvcr1/hfWRuAt5NykOww9AMEAzrfLzrF7f98RntOZzIwwX+UvF\nLXQZwc/b55d97Y249pLRQCBnHdaEtZLQTEQulj1zMx2lkH5CrQWGwDCVFuIyt/rN\nzFJGN09McKrWkBZuwPtkkyb+sBVXZX6cEFgHHA+7D91QRH4lbEjjO8OjQgaA6qWN\n5iGN\n-----END CERTIFICATE-----", "createTime" => Time.now.iso8601, "expirationTime" => Time.now.iso8601 } self.data[:ssl_certs][instance_id][sha1_fingerprint] = data body = { "kind" => 'sql#sslCertsInsert', "serverCaCert" => { "kind" => 'sql#sslCert', "instance" => instance_id, "sha1Fingerprint" => Fog::Mock.random_hex(40), "commonName" => 'C=US,O=Google\, Inc,CN=Google Cloud SQL Server CA', "certSerialNumber" => "0", "cert" => "-----BEGIN CERTIFICATE-----\nMIIDITCCAgmgAwIBAgIBADANBgkqhkiG9w0BAQUFADBIMSMwIQYDVQQDExpHb29n\nbGUgQ2xvdWQgU1FMIFNlcnZlciBDQTEUMBIGA1UEChMLR29vZ2xlLCBJbmMxCzAJ\nBgNVBAYTAlVTMB4XDTE0MDYwNDA1MjkxMVoXDTI0MDYwMTA1MjkxMVowSDEjMCEG\nA1UEAxMaR29vZ2xlIENsb3VkIFNRTCBTZXJ2ZXIgQ0ExFDASBgNVBAoTC0dvb2ds\nZSwgSW5jMQswCQYDVQQGEwJVUzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC\nggEBALlRjq3zccH5ed6NMfCFcTYd9XxYXyvLurxxjDIA6A7/ymVM9qdQC0uckf7C\nsi4uMi2yfK+PHZ0jXC+g0uPx5RTm+nbKl4I++VOh2g6oZHeNdFt4rVJpr+jzGUMf\nr67SymUr70TQOTEVpx2Ud3rBB2szulxWUSXEy2AGA3uNUGe/IgENh7p56s00Sr97\nTRP1S5/JVMalncgNVLH2nNqBQJZTx9t9qvGatoUfmHUU0+M//J5sXLbgdzeEeeot\nHJUyoXjA2sRkH1+F/d6PpFrcr1I8dVmCBEbTAnm7HpKh5Mx2nRYi+t/y9D2Mblwx\n9dBRfr3WIJ1JDxzt3L8CtBGZbvUCAwEAAaMWMBQwEgYDVR0TAQH/BAgwBgEB/wIB\nADANBgkqhkiG9w0BAQUFAAOCAQEAmHuBecPc265sbd26B1HXUAD6FHdzoZLrAZVW\n+1eIK4E669P4y6LkLuoCkLd64/YwA4K2FioksqgHOahbYWJJYPymy4ae+IPXzXcY\nPv3gmBsKk++sHb64D9Cj/k5n8BEiVmmrsUCUiL75nJAzK+El3hvKKWWl76XX/qHP\nk8ZAxIrn8bCiVOaj6NR4+p1OmcZSPNWxz7j/EwQxoABRxgPgt+B/YRseevww7an2\n/rGs0sk7RE0QDjLfZblYGh+xVPBBLuLmf4L5JNJkFEoeGSWrxTzvXnS+2LZeHdM/\nJ9nsiKu5JKPhMUS0vOcTymOkh8tJ6Np8gwg6ca4g6dT3llE6uQ==\n-----END CERTIFICATE-----", "createTime" => Time.now.iso8601, "expirationTime" => Time.now.iso8601 }, "clientCert" => { "certInfo" => data, "certPrivateKey" => "-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQEAvRvWRtfZ/e/BFuW0P0zNRZ2+H3fxUU/FzLNg+Qu/nSixIG3l\nDr2ULeBLEOnAvlFYaCuzeg751wGdTIPgdefV5ao7/DIeUYoXxozwnZcNqRez7uvC\n8mIIb0C4Yu8objXmjfhQXir43FvZNIueADPFG9mv5MQMDLV5tZBrYHNfqpFJcgcX\n59VKCiOQ4b8PyJ8YCNZEv1VJJJPZL9Kv6Mj626BP77korQ6vqR40RcKyEHEuj8/Q\n2B4WVcgw5EyIe7y1zNCREEU9UogPJPuIcFyN1gaj0WUSOB9SpmEkiCr2bXIut0mz\nP6x4rV5BoqRRdZcNIEqn6TPIBt+n5WiEwTyPewIDAQABAoIBAH89e6+vDL4P05vU\ncrMkufldac9CpNxREIXrLBRmE0drWcK4Lqb8Z/d2MwvuPAHSOendfaVi7jf8nhod\noamzk/gz0qieEEhM4jJ2Im/mcwqTKD5Z45Gy5Hn20hm/UTTWj4p2yZySzV93bW4t\nguIf80AJ+I+0WWczs/C2e4kqF/RrIf4ff7UF/2TPS+sEmkTA74APWIMqjkr0cjTP\nrIJCp8jFn/639dVLeHcw2abduZSV8PkQSNdqPeH2P+GpqkYLREPMAw/jPGZYoVli\npQ57cB1THj/juYFYMS7dlJ3hr0pDo6Vw30L6EcE63dvXzJvhOfPXtFufdfanPiey\nUSICtAECgYEA/qP7ZJ9ohqg4D5v9TM4fVlUpo68/jMaWlPPoLQwNXZ81rTN4yOxm\nUJLhDvQCWYZie1jwn9+UA1bdp4PceSbEWh4iM0h4TcxmhHmos6pxGYb/uw6jGLw4\nqjCqDP69/Jgmkfobs4u/h9xtZEHo6u5rrbDZIu0EezL7ArMrSOYVRsMCgYEAvh5K\n4H5EVMhiHnjvbpToOzGjMpqoBr0XSq63Cx45U5on5Bp8oc/iQPnCzpwcrJb4vwRV\nVYYtD/PWpdjzhTVy6SgVnkTKoo6N/Y9vFAYCf67eb4Yu4L8MonlYU2IY7bA3SChw\nesHlwsVZdlNqieWmOuacA8IbgXW4ftbtZDzBuOkCgYEArA8rn+simtJxxwJVHp+s\nhw5Wa3bQDxRkzVMdz8p0AY3BnD3KYKFz5P/KOOth5xIp20TWmoBdKAB7F2S/BdHP\nHUF9RH+0YoU5xEvcVUJW17PjeobCZ8VO2Ji3Xr6Gq3Y3oa2JKEHGckvcUsFCW/Qs\nKBn2LmZO/9wLxeBA4CovuDcCgYAVGTWEDl807Xv+F7uykPHox8xtrD4jaU6xagxE\nPplsDrqIlOvp5TEdttoIpciE2shGIov5zscncw8KHrZ/vPvApkMn6kh2m81kK0vP\ndA9I7jYfOEvxgyI60a6cqlFL53drGZnJ9cSyxcX03LMBFKxK8xazUBJPXqoX4XA8\n5IU3KQKBgQDCPVBZbZcwcfI+fGRZX8DLE61tscK1uy0ySQPmz/tm3ixDAdQNgGvD\nXjyPvMCEtHx7+ZbykLS7SJZG4924LKyGxF9bw5AYTPyxietOUfoqaS8v3kJ03Ebu\nkVDmZkAiMk5E+oGchYsD613QRFjF4nlmrHfxtRqTPqa/OpNDimdG+w==\n-----END RSA PRIVATE KEY-----" } } status = 200 else body = { "error" => { "errors" => [ { "domain" => "global", "reason" => "notAuthorized", "message" => "The client is not authorized to make this request." } ], "code" => 403, "message" => "The client is not authorized to make this request." } } status = 403 end build_excon_response(body, status) end
list_backup_runs(_instance_id, _backup_configuration_id)
click to toggle source
# File lib/fog/google/requests/sql/list_backup_runs.rb, line 24 def list_backup_runs(_instance_id, _backup_configuration_id) Fog::Mock.not_implemented end
list_flags()
click to toggle source
# File lib/fog/google/requests/sql/list_flags.rb, line 19 def list_flags body = { "kind" => 'sql#flagsList', "items" => [ { "kind" => 'sql#flag', "name" => "log_output", "type" => "STRING", "appliesTo" => %w(MYSQL_5_5 MYSQL_5_6), "allowedStringValues" => %w(TABLE NONE) }, { "kind" => 'sql#flag', "name" => "general_log", "type" => "BOOLEAN", "appliesTo" => %w(MYSQL_5_5 MYSQL_5_6) }, { "kind" => 'sql#flag', "name" => "log_queries_not_using_indexes", "type" => "BOOLEAN", "appliesTo" => %w(MYSQL_5_5 MYSQL_5_6) }, { "kind" => 'sql#flag', "name" => "log_bin_trust_function_creators", "type" => "BOOLEAN", "appliesTo" => %w(MYSQL_5_5 MYSQL_5_6) }, { "kind" => 'sql#flag', "name" => "slow_query_log", "type" => "BOOLEAN", "appliesTo" => %w(MYSQL_5_5 MYSQL_5_6) }, { "kind" => 'sql#flag', "name" => "read_only", "type" => "BOOLEAN", "appliesTo" => %w(MYSQL_5_5 MYSQL_5_6) }, { "kind" => 'sql#flag', "name" => "max_allowed_packet", "type" => "INTEGER", "appliesTo" => %w(MYSQL_5_5 MYSQL_5_6), "minValue" => "16384", "maxValue" => "1073741824" }, { "kind" => 'sql#flag', "name" => "long_query_time", "type" => "INTEGER", "appliesTo" => %w(MYSQL_5_5 MYSQL_5_6), "minValue" => "0", "maxValue" => "30000000" }, { "kind" => 'sql#flag', "name" => "group_concat_max_len", "type" => "INTEGER", "appliesTo" => %w(MYSQL_5_5 MYSQL_5_6), "minValue" => "4", "maxValue" => "17179869184" }, { "kind" => 'sql#flag', "name" => "wait_timeout", "type" => "INTEGER", "appliesTo" => %w(MYSQL_5_5 MYSQL_5_6), "minValue" => "1", "maxValue" => "31536000" }, { "kind" => 'sql#flag', "name" => "innodb_lock_wait_timeout", "type" => "INTEGER", "appliesTo" => %w(MYSQL_5_5 MYSQL_5_6), "minValue" => "1", "maxValue" => "1073741824" }, { "kind" => 'sql#flag', "name" => "lower_case_table_names", "type" => "INTEGER", "appliesTo" => %w(MYSQL_5_5 MYSQL_5_6), "minValue" => "0", "maxValue" => "2" }, { "kind" => 'sql#flag', "name" => "innodb_flush_log_at_trx_commit", "type" => "INTEGER", "appliesTo" => %w(MYSQL_5_5 MYSQL_5_6), "minValue" => "0", "maxValue" => "2" }, { "kind" => 'sql#flag', "name" => "skip_show_database", "type" => "NONE", "appliesTo" => %w(MYSQL_5_5 MYSQL_5_6) }, { "kind" => 'sql#flag', "name" => "event_scheduler", "type" => "BOOLEAN", "appliesTo" => %w(MYSQL_5_5 MYSQL_5_6) }, { "kind" => 'sql#flag', "name" => "character_set_server", "type" => "STRING", "appliesTo" => %w(MYSQL_5_5 MYSQL_5_6), "allowedStringValues" => %w(utf8 utf8mb4) } ] } build_excon_response(body) end
list_instances()
click to toggle source
# File lib/fog/google/requests/sql/list_instances.rb, line 21 def list_instances body = { "kind" => 'sql#instancesList', "items" => data[:instances].values } build_excon_response(body) end
list_operations(instance_id)
click to toggle source
# File lib/fog/google/requests/sql/list_operations.rb, line 23 def list_operations(instance_id) if data[:operations].key?(instance_id) body = { "kind" => 'sql#operationsList', "items" => data[:operations][instance_id].values } status = 200 else body = { "error" => { "errors" => [ { "domain" => "global", "reason" => "notAuthorized", "message" => "The client is not authorized to make this request." } ], "code" => 403, "message" => "The client is not authorized to make this request." } } status = 403 end build_excon_response(body, status) end
list_ssl_certs(instance_id)
click to toggle source
# File lib/fog/google/requests/sql/list_ssl_certs.rb, line 22 def list_ssl_certs(instance_id) if data[:ssl_certs].key?(instance_id) body = { "kind" => 'sql#sslCertsList', "items" => data[:ssl_certs][instance_id].values } status = 200 else body = { "error" => { "errors" => [ { "domain" => "global", "reason" => "notAuthorized", "message" => "The client is not authorized to make this request." } ], "code" => 403, "message" => "The client is not authorized to make this request." } } status = 403 end build_excon_response(body, status) end
list_tiers()
click to toggle source
# File lib/fog/google/requests/sql/list_tiers.rb, line 21 def list_tiers body = { "kind" => 'sql#tiersList', "items" => [ { "kind" => 'sql#tier', "tier" => "D0", "RAM" => "134217728", "DiskQuota" => "268435456000", "region" => ["us-central", "europe-west1", "asia-east1"] }, { "kind" => 'sql#tier', "tier" => "D1", "RAM" => "536870912", "DiskQuota" => "268435456000", "region" => ["us-central", "europe-west1", "asia-east1"] }, { "kind" => 'sql#tier', "tier" => "D2", "RAM" => "1073741824", "DiskQuota" => "268435456000", "region" => ["us-central", "europe-west1", "asia-east1"] }, { "kind" => 'sql#tier', "tier" => "D4", "RAM" => "2147483648", "DiskQuota" => "268435456000", "region" => ["us-central", "europe-west1", "asia-east1"] }, { "kind" => 'sql#tier', "tier" => "D8", "RAM" => "4294967296", "DiskQuota" => "268435456000", "region" => ["us-central", "europe-west1", "asia-east1"] }, { "kind" => 'sql#tier', "tier" => "D16", "RAM" => "8589934592", "DiskQuota" => "268435456000", "region" => ["us-central", "europe-west1", "asia-east1"] }, { "kind" => 'sql#tier', "tier" => "D32", "RAM" => "17179869184", "DiskQuota" => "268435456000", "region" => ["us-central"] } ] } build_excon_response(body) end
random_operation()
click to toggle source
# File lib/fog/google/sql/mock.rb, line 34 def random_operation "operation-#{Fog::Mock.random_numbers(13)}-#{Fog::Mock.random_hex(13)}-#{Fog::Mock.random_hex(8)}" end
reset_data()
click to toggle source
# File lib/fog/google/sql/mock.rb, line 30 def reset_data self.class.data.delete(project) end
reset_instance_ssl_config(instance_id)
click to toggle source
# File lib/fog/google/requests/sql/reset_instance_ssl_config.rb, line 24 def reset_instance_ssl_config(instance_id) operation = random_operation data[:operations][instance_id] ||= {} data[:operations][instance_id][operation] = { "kind" => 'sql#instanceOperation', "instance" => instance_id, "operation" => operation, "operationType" => "UPDATE", "state" => Fog::Google::SQL::Operation::DONE_STATE, "userEmailAddress" => "google_client_email@developer.gserviceaccount.com", "enqueuedTime" => Time.now.iso8601, "startTime" => Time.now.iso8601, "endTime" => Time.now.iso8601 } body = { "kind" => 'sql#instancesResetSslConfig', "operation" => operation } build_excon_response(body) end
restart_instance(instance_id)
click to toggle source
# File lib/fog/google/requests/sql/restart_instance.rb, line 22 def restart_instance(instance_id) operation = random_operation data[:operations][instance_id] ||= {} data[:operations][instance_id][operation] = { "kind" => 'sql#instanceOperation', "instance" => instance_id, "operation" => operation, "operationType" => "RESTART", "state" => Fog::Google::SQL::Operation::DONE_STATE, "userEmailAddress" => "google_client_email@developer.gserviceaccount.com", "enqueuedTime" => Time.now.iso8601, "startTime" => Time.now.iso8601, "endTime" => Time.now.iso8601 } body = { "kind" => 'sql#instancesRestart', "operation" => operation } build_excon_response(body) end
restore_instance_backup(_identity, _backup_configuration, _due_time)
click to toggle source
# File lib/fog/google/requests/sql/restore_instance_backup.rb, line 24 def restore_instance_backup(_identity, _backup_configuration, _due_time) Fog::Mock.not_implemented end
set_instance_root_password(instance_id, _password)
click to toggle source
# File lib/fog/google/requests/sql/set_instance_root_password.rb, line 29 def set_instance_root_password(instance_id, _password) operation = random_operation data[:operations][instance_id] ||= {} data[:operations][instance_id][operation] = { "kind" => 'sql#instanceOperation', "instance" => instance_id, "operation" => operation, "operationType" => "INJECT_USER", "state" => Fog::Google::SQL::Operation::DONE_STATE, "userEmailAddress" => "google_client_email@developer.gserviceaccount.com", "enqueuedTime" => Time.now.iso8601, "startTime" => Time.now.iso8601, "endTime" => Time.now.iso8601 } body = { "kind" => 'sql#instancesSetRootPassword', "operation" => operation } build_excon_response(body) end
update_instance(instance_id, _settings_version, tier, options = {})
click to toggle source
# File lib/fog/google/requests/sql/update_instance.rb, line 67 def update_instance(instance_id, _settings_version, tier, options = {}) data = self.data[:instances][instance_id] data["tier"] = tier if options[:activation_policy] data["settings"]["activationPolicy"] = options[:activation_policy] end if options[:autorized_gae_applications] data["settings"]["authorizedGaeApplications"] = Array(options[:autorized_gae_applications]) end if options[:backup_configuration] data["settings"]["backupConfiguration"] = options[:backup_configuration] end if options[:ip_configuration_authorized_networks] data["settings"]["ipConfiguration"] ||= {} data["settings"]["ipConfiguration"]["authorizedNetworks"] = Array(options[:ip_configuration_authorized_networks]) end if options[:ip_configuration_enabled] data["settings"]["ipConfiguration"] ||= {} data["settings"]["ipConfiguration"]["enabled"] = options[:ip_configuration_enabled] end if options[:ip_configuration_require_ssl] data["settings"]["ipConfiguration"] ||= {} data["settings"]["ipConfiguration"]["requireSsl"] = options[:ip_configuration_require_ssl] end if options[:location_preference_zone_follow_gae_application] data["settings"]["locationPreference"] ||= {} data["settings"]["locationPreference"]["followGaeApplication"] = options[:location_preference_zone_follow_gae_application] end if options[:location_preference_zone] data["settings"]["locationPreference"] ||= {} data["settings"]["locationPreference"]["zone"] = options[:location_preference_zone] end if options[:pricing_plan] data["settings"]["pricingPlan"] = options[:pricing_plan] end if options[:replication_type] data["settings"]["replicationType"] = options[:replication_type] end self.data[:instances][instance_id] = data operation = random_operation self.data[:operations][instance_id] ||= {} self.data[:operations][instance_id][operation] = { "kind" => 'sql#instanceOperation', "instance" => instance_id, "operation" => operation, "operationType" => "UPDATE", "state" => Fog::Google::SQL::Operation::DONE_STATE, "userEmailAddress" => "google_client_email@developer.gserviceaccount.com", "enqueuedTime" => Time.now.iso8601, "startTime" => Time.now.iso8601, "endTime" => Time.now.iso8601 } body = { "kind" => 'sql#instancesUpdate', "operation" => operation } status = 200 build_excon_response(body, status) end