class Fog::Compute::Google::Mock
XXX @ihmccreery added this mock to get the Shindo tests to pass. I don't really understand how mocks are supposed to work; I'm in the process of moving all testing over to Minitest, but in the meantime, the Shindo tests need to pass. This Mock should be considered with a lot of skepticism.
Attributes
extra_global_projects[R]
Public Class Methods
data(api_version)
click to toggle source
# File lib/fog/compute/google/mock.rb, line 13 def self.data(api_version) @data ||= Hash.new do |hash, key| hash[key] = case key when "debian-cloud" { :images => { "debian-6-squeeze-v20130816" => { "kind" => "compute#image", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/debian-cloud/global/images/debian-6-squeeze-v20130816", "id" => "14841592146580482051", "creationTimestamp" => "2013-09-04T13:21:53.292-07:00", "name" => "debian-6-squeeze-v20130816", "description" => "Debian GNU/Linux 6.0.7 (squeeze) built on 2013-08-16", "sourceType" => "RAW", "rawDisk" => { "containerType" => "TAR", "source" => "" }, "status" => "READY" }, "debian-7-wheezy-v20130816" => { "kind" => "compute#image", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/debian-cloud/global/images/debian-7-wheezy-v20130816", "id" => "4213305957435180899", "creationTimestamp" => "2013-09-04T13:24:30.479-07:00", "name" => "debian-7-wheezy-v20130816", "description" => "Debian GNU/Linux 7.1 (wheezy) built on 2013-08-16", "sourceType" => "RAW", "rawDisk" => { "containerType" => "TAR", "source" => "" }, "status" => "READY" }, "debian-7-wheezy-v20131014" => { "kind" => "compute#image", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/debian-cloud/global/images/debian-7-wheezy-v20131014", "id" => "4213305957435180899", "creationTimestamp" => "2013-09-04T13:24:30.479-07:00", "name" => "debian-7-wheezy-v20131014", "description" => "Debian GNU/Linux 7.1 (wheezy) built on 2013-10-14", "sourceType" => "RAW", "rawDisk" => { "containerType" => "TAR", "source" => "" }, "status" => "READY" }, "debian-7-wheezy-v20140408" => { "kind" => "compute#image", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/debian-cloud/global/images/debian-7-wheezy-v20140408", "id" => "17312518942796567788", "creationTimestamp" => "2013-11-25T15:17:00.436-08:00", "name" => "debian-7-wheezy-v20131120", "description" => "Debian GNU/Linux 7.2 (wheezy) built on 2013-11-20", "sourceType" => "RAW", "rawDisk" => { "containerType" => "TAR", "source" => "" }, "status" => "READY", "archiveSizeBytes" => "341857472" } } } when "centos-cloud" { :images => { "centos-6-v20130813" => { "kind" => "compute#image", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/centos-cloud/global/images/centos-6-v20130813", "id" => "4670523370938782739", "creationTimestamp" => "2013-08-19T11:56:47.004-07:00", "name" => "centos-6-v20130813", "description" => "SCSI-enabled CentOS 6; Created Tue, 13 Aug 2013 00:00:00 +0000", "sourceType" => "RAW", "rawDisk" => { "containerType" => "TAR", "source" => "" }, "status" => "READY" } } } else { :target_http_proxies => { "test-target-http-proxy" => { "kind" => "compute#targetHttpProxy", "id" => "1361932147851415729", "creationTimestamp" => "2014-08-23T10:06:13.951-07:00", "name" => "test-target-http-proxy", "description" => "", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/targetHttpProxies/test-target-http-proxy", "urlMap" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/urlMaps/test-url-map" } }, :url_maps => { "test-url-map" => { "kind" => "compute#urlMap", "id" => "1361932147851415729", "creationTimestamp" => "2014-08-23T10:06:13.951-07:00", "name" => "test-url-map", "description" => "", "hostRules" => [], "pathMatchers" => [], "tests" => [], "defaultService" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/backendServices/fog-backend-service-test", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/urlMaps/test-url-map" } }, :target_pools => { "test-target-pool" => { "kind" => "compute#targetPool", "id" => "1361932147851415729", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/us-central1/targetPools/test-target-pool", "creationTimestamp" => "2014-08-23T10:06:13.951-07:00", "name" => "test-target-pool", "region" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/us-central1", "healthChecks" => ["https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/httpHealthChecks/test-check"], "instances" => ["https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/us-central1-a/instances/test-instance"] } }, :http_health_checks => { "test-http-health-check" => { "checkIntervalSec" => 5, "creationTimestamp" => "2014-08-23T10:06:13.951-07:00", "healthyThreshold" => 2, "id" => "1361932147851415729", "kind" => "compute#httphealthCheck", "name" => "test-http-health-check", "port" => 80, "requestPath" => "/", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/httpHealthChecks/test-http-health-check", "timeoutSec" => 5, "unhealthyThreshold" => 2 } }, :global_forwarding_rules => { "test-global-forwarding-rule" => { "kind" => "compute#forwardingRule", "id" => "1361932147851415729", "creationTimestamp" => "2014-08-23T10:06:13.951-07:00", "name" => "test-global-forwarding-rule", "IPAddress" => "107.178.255.155", "IPProtocol" => "TCP", "portRange" => "80-80", "target" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/targetHttpProxies/proxy", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/forwardngRules/test-global-forwarding-rule" } }, :forwarding_rules => { "test-forwarding-rule" => { "kind" => "compute#forwardingRule", "id" => "1361932147851415729", "creationTimestamp" => "2014-08-23T10:06:13.951-07:00", "name" => "test-forwarding-rule", "IPAddress" => "107.178.255.155", "IPProtocol" => "TCP", "portRange" => "80-80", "target" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/us-central1/targetPools/target_pool", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/us-central1/forwardngRules/test-forwarding-rule", "region" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/us-central1" } }, :target_instances => { "test-target-instance" => { "kind" => "compute#targetInstance", "name" => "test-target-instance", "natPolicy" => "NO_NAT", "zone" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/us-central1-a", "instance" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/us-central1-a/instances/test-instance", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/us-central1-a/targetInstances/test-target-instance", "id" => "1361932147851415729", "creationTimestamp" => "2014-08-23T10:06:13.951-07:00" } }, :backend_services => { "test-backend-service" => { "kind" => "compute#backend_service", "id" => "1361932147851415729", "creationTimestamp" => "2014-08-23T10:06:13.951-07:00", "name" => "test-backend-service", "description" => "", "backends" => [ { "description" => "", "group" => "https://www.googleapis.com/resourceviews/v1beta1/projects#{@project}/zones/us-central1-a/zoneViews/name", "balancingMode" => "RATE", "capacityScaler" => 1.1, "maxRate" => 0.5 }], "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/backendServices/test-backend-service" } }, :servers => { "fog-1" => { "kind" => "compute#instance", "id" => "1361932147851415727", "creationTimestamp" => "2013-09-26T04:55:43.881-07:00", "zone" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/us-central1-a", "status" => "RUNNING", "name" => "fog-1380196541", "tags" => { "fingerprint" => "42WmSpB8rSM=" }, "machineType" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/us-central1-a/machineTypes/n1-standard-1", "canIpForward" => false, "networkInterfaces" => [ { "network" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/global/networks/default", "networkIP" => "10.240.121.54", "name" => "nic0", "accessConfigs" => [ { "kind" => "compute#accessConfig", "type" => "ONE_TO_ONE_NAT", "name" => "External NAT", "natIP" => "108.59.81.28" } ] } ], "disks" => [ { "kind" => "compute#attachedDisk", "index" => 0, "type" => "PERSISTENT", "mode" => "READ_WRITE", "source" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/us-central1-a/disks/fog-1", "deviceName" => "persistent-disk-0", "boot" => true } ], "metadata" => { "kind" => "compute#metadata", "fingerprint" => "5_hasd_gC3E=", "items" => [ { "key" => "sshKeys", "value" => "sysadmin:ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEA1zc7mx+0H8Roywet/L0aVX6MUdkDfzd/17kZhprAbpUXYOILv9AG4lIzQk6xGxDIltghytjfVGme/4A42Sb0Z9LN0pxB4KnWTNoOSHPJtp6jbXpq6PdN9r3Z5NKQg0A/Tfw7gt2N0GDsj6vpK8VbHHdW78JAVUxql18ootJxjaksdocsiHNK8iA6/v9qiLRhX3fOgtK7KpxxdZxLRzFg9vkp8jcGISgpZt27kOgXWhR5YLhi8pRJookzphO5O4yhflgoHoAE65XkfrsRCe0HU5QTbY2jH88rBVkq0KVlZh/lEsuwfmG4d77kEqaCGGro+j1Wrvo2K3DSQ+rEcvPp2CYRUySjhaeLF18UzQLtxNeoN14QOYqlm9ITdkCnmq5w4Wn007MjSOFp8LEq2RekrnddGXjg1/vgmXtaVSGzJAlXwtVfZor3dTRmF0JCpr7DsiupBaDFtLUlGFFlSKmPDVMPOOB5wajexmcvSp2Vu4U3yP8Lai/9/ZxMdsGPhpdCsWVL83B5tF4oYj1HVIycbYIxIIfFqOxZcCru3CMfe9jmzKgKLv2UtkfOS8jpS/Os2gAiB3wPweH3agvtwYAYBVMDwt5cnrhgHYWoOz7ABD8KgmCrD7Y9HikiCqIUNkgUFd9YmjcYi5FkU5rFXIawN7efs341lsdf923lsdf923fs= johndoe@acme" } ] }, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/us-central1-a/instances/fog-1380196541" } }, :zones => { "europe-west1-a" => { "kind" => "compute#zone", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/europe-west1-a", "id" => "10419676573632995924", "creationTimestamp" => "2013-09-26T02:56:13.115-07:00", "name" => "europe-west1-a", "description" => "europe-west1-a", "status" => "UP", "maintenanceWindows" => [ { "name" => "2014-01-18-planned-outage", "description" => "maintenance zone", "beginTime" => "2014-01-18T12:00:00.000-08:00", "endTime" => "2014-02-02T12:00:00.000-08:00" } ], "quotas" => [ { "metric" => "INSTANCES", "limit" => 16.0, "usage" => 0.0 }, { "metric" => "CPUS", "limit" => 24.0, "usage" => 0.0 }, { "metric" => "DISKS", "limit" => 16.0, "usage" => 0.0 }, { "metric" => "DISKS_TOTAL_GB", "limit" => 2048.0, "usage" => 0.0 } ], "region" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/regions/europe-west1" }, "us-central1-a" => { "kind" => "compute#zone", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/us-central1-a", "id" => "6562457277909136262", "creationTimestamp" => "2013-09-26T02:56:13.116-07:00", "name" => "us-central1-a", "description" => "us-central1-a", "status" => "UP", "maintenanceWindows" => nil, "quotas" => [ { "metric" => "INSTANCES", "limit" => 16.0, "usage" => 1.0 }, { "metric" => "CPUS", "limit" => 24.0, "usage" => 1.0 }, { "metric" => "DISKS", "limit" => 16.0, "usage" => 0.0 }, { "metric" => "DISKS_TOTAL_GB", "limit" => 2048.0, "usage" => 0.0 } ], "region" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/regions/us-central1" }, "us-central1-b" => { "kind" => "compute#zone", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/us-central1-b", "id" => "8701502109626061015", "creationTimestamp" => "2013-09-26T02:56:13.124-07:00", "name" => "us-central1-b", "description" => "us-central1-b", "status" => "UP", "maintenanceWindows" => [{ "name" => "2013-10-26-planned-outage", "description" => "maintenance zone", "beginTime" => "2013-10-26T12:00:00.000-07:00", "endTime" => "2013-11-10T12:00:00.000-08:00" }], "quotas" => [ { "metric" => "INSTANCES", "limit" => 16.0, "usage" => 0.0 }, { "metric" => "CPUS", "limit" => 24.0, "usage" => 0.0 }, { "metric" => "DISKS", "limit" => 16.0, "usage" => 0.0 }, { "metric" => "DISKS_TOTAL_GB", "limit" => 2048.0, "usage" => 0.0 } ], "region" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/regions/us-central1" }, "us-central2-a" => { "kind" => "compute#zone", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/us-central2-a", "id" => "13611654493253680292", "creationTimestamp" => "2013-09-26T02:56:13.125-07:00", "name" => "us-central2-a", "description" => "us-central2-a", "status" => "UP", "maintenanceWindows" => [ { "name" => "2013-10-12-planned-outage", "description" => "maintenance zone", "beginTime" => "2013-10-12T12:00:00.000-07:00", "endTime" => "2013-10-27T12:00:00.000-07:00" } ], "quotas" => [ { "metric" => "INSTANCES", "limit" => 16.0, "usage" => 0.0 }, { "metric" => "CPUS", "limit" => 24.0, "usage" => 0.0 }, { "metric" => "DISKS", "limit" => 16.0, "usage" => 0.0 }, { "metric" => "DISKS_TOTAL_GB", "limit" => 2048.0, "usage" => 0.0 } ], "region" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/regions/us-central2" } }, :regions => { "us-central1" => { "creationTimestamp" => "2014-01-21T10:30:54.895-08:00", "description" => "us-central1", "id" => "18201118976141502843", "kind" => "compute#region", "name" => "us-central1", "quotas" => [ { "metric" => "CPUS", "limit" => 1050.0, "usage" => 28.0 }, { "metric" => "DISKS_TOTAL_GB", "limit" => 10_000.0, "usage" => 292.0 }, { "metric" => "STATIC_ADDRESSES", "limit" => 10.0, "usage" => 0.0 }, { "metric" => "IN_USE_ADDRESSES", "limit" => 1050.0, "usage" => 30.0 }, { "metric" => "SSD_TOTAL_GB", "limit" => 1024.0, "usage" => 0.0 } ], "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/regions/us-central1", "status" => "UP", "zones" => [ "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/us-central1-a", "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/us-central1-b", "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/us-central1-f" ] }, "europe-west1" => { "creationTimestamp" => "2014-01-21T10:30:54.891-08:00", "description" => "europe-west1", "id" => "18201118976141502843", "kind" => "compute#region", "name" => "europe-west1", "quotas" => [ { "metric" => "CPUS", "limit" => 24.0, "usage" => 0.0 }, { "metric" => "DISKS_TOTAL_GB", "limit" => 2048.0, "usage" => 0.0 }, { "metric" => "STATIC_ADDRESSES", "limit" => 7.0, "usage" => 0.0 }, { "metric" => "IN_USE_ADDRESSES", "limit" => 23.0, "usage" => 0.0 }, { "metric" => "SSD_TOTAL_GB", "limit" => 1024.0, "usage" => 0.0 } ], "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/regions/erope-west1", "status" => "UP", "zones" => [ "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/europe-west1-a", "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/europe-west1-b" ] }, "asia-east1" => { "creationTimestamp" => "2014-01-21T10:30:54.895-08:00", "description" => "asia-east1", "id" => "18201118976141502843", "kind" => "compute#region", "name" => "asia-east1", "quotas" => [ { "metric" => "CPUS", "limit" => 1050.0, "usage" => 28.0 }, { "metric" => "DISKS_TOTAL_GB", "limit" => 10_000.0, "usage" => 292.0 }, { "metric" => "STATIC_ADDRESSES", "limit" => 10.0, "usage" => 0.0 }, { "metric" => "IN_USE_ADDRESSES", "limit" => 1050.0, "usage" => 30.0 }, { "metric" => "SSD_TOTAL_GB", "limit" => 1024.0, "usage" => 0.0 } ], "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/regions/asia-east1", "status" => "UP", "zones" => [ "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/asia-east1-a", "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/asia-east1-b", "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/asia-east1-c" ] } }, :machine_types => Hash.new do |machine_types_hash, zone| machine_types_hash[zone] = { "f1-micro" => { "kind" => "compute#machineType", "id" => "4618642685664990776", "creationTimestamp" => "2013-04-25T13:32:49.088-07:00", "name" => "f1-micro", "description" => "1 vCPU (shared physical core) and 0.6 GB RAM", "guestCpus" => 1, "memoryMb" => 614, "imageSpaceGb" => 0, "maximumPersistentDisks" => 4, "maximumPersistentDisksSizeGb" => "3072", "zone" => zone, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/f1-micro" }, "g1-small" => { "kind" => "compute#machineType", "id" => "7224129552184485774", "creationTimestamp" => "2013-04-25T13:32:45.550-07:00", "name" => "g1-small", "description" => "1 vCPU (shared physical core) and 1.7 GB RAM", "guestCpus" => 1, "memoryMb" => 1740, "imageSpaceGb" => 0, "maximumPersistentDisks" => 4, "maximumPersistentDisksSizeGb" => "3072", "zone" => zone, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/g1-small" }, "n1-highcpu-2" => { "kind" => "compute#machineType", "id" => "13043554592196512955", "creationTimestamp" => "2012-11-16T11:46:10.572-08:00", "name" => "n1-highcpu-2", "description" => "2 vCPUs, 1.8 GB RAM", "guestCpus" => 2, "memoryMb" => 1843, "imageSpaceGb" => 10, "maximumPersistentDisks" => 16, "maximumPersistentDisksSizeGb" => "10240", "zone" => zone, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-highcpu-2" }, "n1-highcpu-2-d" => { "kind" => "compute#machineType", "id" => "13043555176034896271", "creationTimestamp" => "2012-11-16T11:47:07.825-08:00", "name" => "n1-highcpu-2-d", "description" => "2 vCPUs, 1.8 GB RAM, 1 scratch disk (870 GB)", "guestCpus" => 2, "memoryMb" => 1843, "imageSpaceGb" => 10, "scratchDisks" => [ { "diskGb" => 870 } ], "maximumPersistentDisks" => 16, "maximumPersistentDisksSizeGb" => "10240", "zone" => zone, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-highcpu-2-d" }, "n1-highcpu-4" => { "kind" => "compute#machineType", "id" => "13043555705736970382", "creationTimestamp" => "2012-11-16T11:48:06.087-08:00", "name" => "n1-highcpu-4", "description" => "4 vCPUs, 3.6 GB RAM", "guestCpus" => 4, "memoryMb" => 3686, "imageSpaceGb" => 10, "maximumPersistentDisks" => 16, "maximumPersistentDisksSizeGb" => "10240", "zone" => zone, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-highcpu-4" }, "n1-highcpu-4-d" => { "kind" => "compute#machineType", "id" => "13043556330284250611", "creationTimestamp" => "2012-11-16T11:49:07.563-08:00", "name" => "n1-highcpu-4-d", "description" => "4 vCPUS, 3.6 GB RAM, 1 scratch disk (1770 GB)", "guestCpus" => 4, "memoryMb" => 3686, "imageSpaceGb" => 10, "scratchDisks" => [ { "diskGb" => 1770 } ], "maximumPersistentDisks" => 16, "maximumPersistentDisksSizeGb" => "10240", "zone" => zone, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-highcpu-4-d" }, "n1-highcpu-8" => { "kind" => "compute#machineType", "id" => "13043556949665240937", "creationTimestamp" => "2012-11-16T11:50:15.128-08:00", "name" => "n1-highcpu-8", "description" => "8 vCPUs, 7.2 GB RAM", "guestCpus" => 8, "memoryMb" => 7373, "imageSpaceGb" => 10, "maximumPersistentDisks" => 16, "maximumPersistentDisksSizeGb" => "10240", "zone" => zone, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-highcpu-8" }, "n1-highcpu-8-d" => { "kind" => "compute#machineType", "id" => "13043557458004959701", "creationTimestamp" => "2012-11-16T11:51:04.549-08:00", "name" => "n1-highcpu-8-d", "description" => "8 vCPUS, 7.2 GB RAM, 2 scratch disks (1770 GB, 1770 GB)", "guestCpus" => 8, "memoryMb" => 7373, "imageSpaceGb" => 10, "scratchDisks" => [ { "diskGb" => 1770 }, { "diskGb" => 1770 } ], "maximumPersistentDisks" => 16, "maximumPersistentDisksSizeGb" => "10240", "zone" => zone, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-highcpu-8-d" }, "n1-highmem-2" => { "kind" => "compute#machineType", "id" => "13043551079318055993", "creationTimestamp" => "2012-11-16T11:40:06.129-08:00", "name" => "n1-highmem-2", "description" => "2 vCPUs, 13 GB RAM", "guestCpus" => 2, "memoryMb" => 13_312, "imageSpaceGb" => 10, "maximumPersistentDisks" => 16, "maximumPersistentDisksSizeGb" => "10240", "zone" => zone, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-highmem-2" }, "n1-highmem-2-d" => { "kind" => "compute#machineType", "id" => "13043551625558644085", "creationTimestamp" => "2012-11-16T11:40:59.630-08:00", "name" => "n1-highmem-2-d", "description" => "2 vCPUs, 13 GB RAM, 1 scratch disk (870 GB)", "guestCpus" => 2, "memoryMb" => 13_312, "imageSpaceGb" => 10, "scratchDisks" => [ { "diskGb" => 870 } ], "maximumPersistentDisks" => 16, "maximumPersistentDisksSizeGb" => "10240", "zone" => zone, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-highmem-2-d" }, "n1-highmem-4" => { "kind" => "compute#machineType", "id" => "13043552263604939569", "creationTimestamp" => "2012-11-16T11:42:08.983-08:00", "name" => "n1-highmem-4", "description" => "4 vCPUs, 26 GB RAM", "guestCpus" => 4, "memoryMb" => 26_624, "imageSpaceGb" => 10, "maximumPersistentDisks" => 16, "maximumPersistentDisksSizeGb" => "10240", "zone" => zone, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-highmem-4" }, "n1-highmem-4-d" => { "kind" => "compute#machineType", "id" => "13043552953632709737", "creationTimestamp" => "2012-11-16T11:43:17.400-08:00", "name" => "n1-highmem-4-d", "description" => "4 vCPUs, 26 GB RAM, 1 scratch disk (1770 GB)", "guestCpus" => 4, "memoryMb" => 26_624, "imageSpaceGb" => 10, "scratchDisks" => [ { "diskGb" => 1770 } ], "maximumPersistentDisks" => 16, "maximumPersistentDisksSizeGb" => "10240", "zone" => zone, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-highmem-4-d" }, "n1-highmem-8" => { "kind" => "compute#machineType", "id" => "13043553584275586275", "creationTimestamp" => "2012-11-16T11:44:25.985-08:00", "name" => "n1-highmem-8", "description" => "8 vCPUs, 52 GB RAM", "guestCpus" => 8, "memoryMb" => 53_248, "imageSpaceGb" => 10, "maximumPersistentDisks" => 16, "maximumPersistentDisksSizeGb" => "10240", "zone" => zone, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-highmem-8" }, "n1-highmem-8-d" => { "kind" => "compute#machineType", "id" => "13043554021673472746", "creationTimestamp" => "2012-11-16T11:45:08.195-08:00", "name" => "n1-highmem-8-d", "description" => "8 vCPUs, 52 GB RAM, 2 scratch disks (1770 GB, 1770 GB)", "guestCpus" => 8, "memoryMb" => 53_248, "imageSpaceGb" => 10, "scratchDisks" => [ { "diskGb" => 1770 }, { "diskGb" => 1770 } ], "maximumPersistentDisks" => 16, "maximumPersistentDisksSizeGb" => "10240", "zone" => zone, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-highmem-8-d" }, "n1-standard-1" => { "kind" => "compute#machineType", "id" => "12907738072351752276", "creationTimestamp" => "2012-06-07T13:48:14.670-07:00", "name" => "n1-standard-1", "description" => "1 vCPU, 3.75 GB RAM", "guestCpus" => 1, "memoryMb" => 3840, "imageSpaceGb" => 10, "maximumPersistentDisks" => 16, "maximumPersistentDisksSizeGb" => "10240", "zone" => zone, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-standard-1" }, "n1-standard-1-d" => { "kind" => "compute#machineType", "id" => "12908559201265214706", "creationTimestamp" => "2012-06-07T13:48:34.258-07:00", "name" => "n1-standard-1-d", "description" => "1 vCPU, 3.75 GB RAM, 1 scratch disk (420 GB)", "guestCpus" => 1, "memoryMb" => 3840, "imageSpaceGb" => 10, "scratchDisks" => [ { "diskGb" => 420 } ], "maximumPersistentDisks" => 16, "maximumPersistentDisksSizeGb" => "10240", "zone" => zone, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-standard-1-d" }, "n1-standard-2" => { "kind" => "compute#machineType", "id" => "12908559320241551184", "creationTimestamp" => "2012-06-07T13:48:56.867-07:00", "name" => "n1-standard-2", "description" => "2 vCPUs, 7.5 GB RAM", "guestCpus" => 2, "memoryMb" => 7680, "imageSpaceGb" => 10, "maximumPersistentDisks" => 16, "maximumPersistentDisksSizeGb" => "10240", "zone" => zone, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-standard-2" }, "n1-standard-2-d" => { "kind" => "compute#machineType", "id" => "12908559582417967837", "creationTimestamp" => "2012-06-07T13:49:19.448-07:00", "name" => "n1-standard-2-d", "description" => "2 vCPUs, 7.5 GB RAM, 1 scratch disk (870 GB)", "guestCpus" => 2, "memoryMb" => 7680, "imageSpaceGb" => 10, "scratchDisks" => [ { "diskGb" => 870 } ], "maximumPersistentDisks" => 16, "maximumPersistentDisksSizeGb" => "10240", "zone" => zone, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-standard-2-d" }, "n1-standard-4" => { "kind" => "compute#machineType", "id" => "12908559692070444049", "creationTimestamp" => "2012-06-07T13:49:40.050-07:00", "name" => "n1-standard-4", "description" => "4 vCPUs, 15 GB RAM", "guestCpus" => 4, "memoryMb" => 15_360, "imageSpaceGb" => 10, "maximumPersistentDisks" => 16, "maximumPersistentDisksSizeGb" => "10240", "zone" => zone, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-standard-4" }, "n1-standard-4-d" => { "kind" => "compute#machineType", "id" => "12908559991903153608", "creationTimestamp" => "2012-06-07T13:50:05.677-07:00", "name" => "n1-standard-4-d", "description" => "4 vCPUs, 15 GB RAM, 1 scratch disk (1770 GB)", "guestCpus" => 4, "memoryMb" => 15_360, "imageSpaceGb" => 10, "scratchDisks" => [ { "diskGb" => 1770 } ], "maximumPersistentDisks" => 16, "maximumPersistentDisksSizeGb" => "10240", "zone" => zone, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-standard-4-d" }, "n1-standard-8" => { "kind" => "compute#machineType", "id" => "12908560197989714867", "creationTimestamp" => "2012-06-07T13:50:42.334-07:00", "name" => "n1-standard-8", "description" => "8 vCPUs, 30 GB RAM", "guestCpus" => 8, "memoryMb" => 30_720, "imageSpaceGb" => 10, "maximumPersistentDisks" => 16, "maximumPersistentDisksSizeGb" => "10240", "zone" => zone, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-standard-8" }, "n1-standard-8-d" => { "kind" => "compute#machineType", "id" => "12908560709887590691", "creationTimestamp" => "2012-06-07T13:51:19.936-07:00", "name" => "n1-standard-8-d", "description" => "8 vCPUs, 30 GB RAM, 2 scratch disks (1770 GB, 1770 GB)", "guestCpus" => 8, "memoryMb" => 30_720, "imageSpaceGb" => 10, "scratchDisks" => [ { "diskGb" => 1770 }, { "diskGb" => 1770 } ], "maximumPersistentDisks" => 16, "maximumPersistentDisksSizeGb" => "10240", "zone" => zone, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-standard-8-d" } } end, :images => {}, :disks => { "fog-1" => { "kind" => "compute#disk", "id" => "3338131294770784461", "creationTimestamp" => "2013-12-18T19:47:10.583-08:00", "zone" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/us-central1-a", "status" => "READY", "name" => "fog-1", "sizeGb" => "10", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/us-central1-a/disks/fog-1", "sourceImage" => "https://www.googleapis.com/compute/#{api_version}/projects/debian-cloud/global/images/debian-7-wheezy-v20131120", "sourceImageId" => "17312518942796567788", "type" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/us-central1-a/diskTypes/pd-standard" }, "fog-2" => { "kind" => "compute#disk", "id" => "3338131294770784462", "creationTimestamp" => "2013-12-18T19:47:10.583-08:00", "zone" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/us-central1-a", "status" => "READY", "name" => "fog-2", "sizeGb" => "10", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/us-central1-a/disks/fog-1", "type" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/us-central1-a/diskTypes/pd-ssd" } }, :subnetworks => { "fog-1" => { "kind" => "compute#subnetwork", "id" => "6680781458098159920", "creationTimestamp" => "2016-03-19T19:13:51.613-07:00", "gatewayAddress" => "10.1.0.1", "name" => "fog-1", "network" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/global/networks/fog-example", "ipCidrRange" => "10.1.0.0/20", "region" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/regions/us-central1", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/regions/us-central1/subnetworks/fog-1" }, "fog-2" => { "kind" => "compute#subnetwork", "id" => "6680781458098159921", "creationTimestamp" => "2016-03-19T19:13:51.613-07:00", "gatewayAddress" => "10.1.16.1", "name" => "fog-2", "network" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/global/networks/fog-example", "ipCidrRange" => "10.1.16.0/20", "region" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/regions/europe-west1", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/regions/europe-west1/subnetworks/fog-2" }, "fog-3" => { "kind" => "compute#subnetwork", "id" => "6680781458098159923", "creationTimestamp" => "2016-03-19T19:13:51.613-07:00", "gatewayAddress" => "192.168.20.1", "name" => "fog-3", "network" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/global/networks/fog-elsewhere-example", "ipCidrRange" => "192.168.20.0/20", "region" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/regions/us-central1", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/regions/us-central1/subnetworks/fog-3" } }, :operations => {} } end end end
new(options)
click to toggle source
# File lib/fog/compute/google/mock.rb, line 8 def initialize(options) shared_initialize(options[:google_project], GOOGLE_COMPUTE_API_VERSION, GOOGLE_COMPUTE_BASE_URL) @extra_global_projects = options.fetch(:google_extra_global_projects, []) end
reset()
click to toggle source
# File lib/fog/compute/google/mock.rb, line 852 def self.reset @data = nil end
Public Instance Methods
add_backend_service_backends(_backend_service, _new_backends)
click to toggle source
# File lib/fog/compute/google/requests/add_backend_service_backends.rb, line 5 def add_backend_service_backends(_backend_service, _new_backends) Fog::Mock.not_implemented end
add_instance_group_instance(_group_name, _zone, _instances)
click to toggle source
# File lib/fog/compute/google/requests/add_instance_group_instance.rb, line 5 def add_instance_group_instance(_group_name, _zone, _instances) Fog::Mock.not_implemented end
add_region_view_resources(_region_view, _resources)
click to toggle source
# File lib/fog/compute/google/requests/add_region_view_resources.rb, line 5 def add_region_view_resources(_region_view, _resources) Fog::Mock.not_implemented end
add_server_access_config(_identity, _zone, _nic, _options = {})
click to toggle source
# File lib/fog/compute/google/requests/add_server_access_config.rb, line 5 def add_server_access_config(_identity, _zone, _nic, _options = {}) Fog::Mock.not_implemented end
add_target_pool_health_checks(_target_pool, _health_checks)
click to toggle source
# File lib/fog/compute/google/requests/add_target_pool_health_checks.rb, line 5 def add_target_pool_health_checks(_target_pool, _health_checks) Fog::Mock.not_implemented end
add_target_pool_instances(_target_pool, _instances)
click to toggle source
# File lib/fog/compute/google/requests/add_target_pool_instances.rb, line 5 def add_target_pool_instances(_target_pool, _instances) Fog::Mock.not_implemented end
add_url_map_host_rules(_url_map, _host_rules)
click to toggle source
# File lib/fog/compute/google/requests/add_url_map_host_rules.rb, line 5 def add_url_map_host_rules(_url_map, _host_rules) Fog::Mock.not_implemented end
add_url_map_path_matchers(_url_map, _path_matchers)
click to toggle source
# File lib/fog/compute/google/requests/add_url_map_path_matchers.rb, line 5 def add_url_map_path_matchers(_url_map, _path_matchers) Fog::Mock.not_implemented end
add_zone_view_resources(_zone_view, _resources)
click to toggle source
# File lib/fog/compute/google/requests/add_zone_view_resources.rb, line 5 def add_zone_view_resources(_zone_view, _resources) Fog::Mock.not_implemented end
attach_disk(_instance, _zone, _source, _options = {})
click to toggle source
# File lib/fog/compute/google/requests/attach_disk.rb, line 5 def attach_disk(_instance, _zone, _source, _options = {}) Fog::Mock.not_implemented end
data(project = @project)
click to toggle source
# File lib/fog/compute/google/mock.rb, line 856 def data(project = @project) self.class.data(api_version)[project] end
delete_address(_address_name, _region_name)
click to toggle source
# File lib/fog/compute/google/requests/delete_address.rb, line 5 def delete_address(_address_name, _region_name) Fog::Mock.not_implemented end
delete_backend_service(backend_service_name, _zone_name = nil)
click to toggle source
# File lib/fog/compute/google/requests/delete_backend_service.rb, line 5 def delete_backend_service(backend_service_name, _zone_name = nil) get_backend_service(backend_service_name) backend_service = data[:backend_services][backend_service_name] backend_service["mock-deletionTimestamp"] = Time.now.iso8601 backend_service["status"] = "DONE" operation = random_operation data[:operations][operation] = { "kind" => "compute#operation", "id" => Fog::Mock.random_numbers(19).to_s, "name" => operation, "zone" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global", "operationType" => "delete", "targetLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/backendServices/#{backend_service_name}", "targetId" => data[:backend_services][backend_service_name]["id"], "status" => "DONE", "user" => "123456789012-qwertyuiopasdfghjkl1234567890qwe@developer.gserviceaccount.com", "progress" => 0, "insertTime" => Time.now.iso8601, "startTime" => Time.now.iso8601, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/operations/#{operation}" } build_excon_response(data[:operations][operation]) end
delete_disk(disk_name, zone_name)
click to toggle source
# File lib/fog/compute/google/requests/delete_disk.rb, line 5 def delete_disk(disk_name, zone_name) get_disk(disk_name, zone_name) operation = random_operation data[:operations][operation] = { "kind" => "compute#operation", "id" => Fog::Mock.random_numbers(19).to_s, "name" => operation, "zone" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone_name}", "operationType" => "delete", "targetLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone_name}/disks/#{disk_name}", "targetId" => data[:disks][disk_name]["id"], "status" => Fog::Compute::Google::Operation::PENDING_STATE, "user" => "123456789012-qwertyuiopasdfghjkl1234567890qwe@developer.gserviceaccount.com", "progress" => 0, "insertTime" => Time.now.iso8601, "startTime" => Time.now.iso8601, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone_name}/operations/#{operation}" } data[:disks].delete disk_name build_excon_response(data[:operations][operation]) end
delete_firewall(_firewall_name)
click to toggle source
# File lib/fog/compute/google/requests/delete_firewall.rb, line 5 def delete_firewall(_firewall_name) Fog::Mock.not_implemented end
delete_forwarding_rule(name, region_name)
click to toggle source
# File lib/fog/compute/google/requests/delete_forwarding_rule.rb, line 5 def delete_forwarding_rule(name, region_name) get_forwarding_rule(name, region_name) id = Fog::Mock.random_numbers(19).to_s operation = random_operation data[:operations][operation] = { "kind" => "compute#operation", "id" => Fog::Mock.random_numbers(19).to_s, "name" => operation, "region" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/#{region_name}", "operationType" => "delete", "targetLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/#{region_name}/forwardingRules/#{name}", "targetId" => id, "status" => "DONE", "user" => "123456789012-qwertyuiopasdfghjkl1234567890qwe@developer.gserviceaccount.com", "progress" => 0, "insertTime" => Time.now.iso8601, "startTime" => Time.now.iso8601, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/#{region_name}/operations/#{operation}" } build_excon_response(data[:operations][operation]) end
delete_global_forwarding_rule(name, _region_name = "global")
click to toggle source
# File lib/fog/compute/google/requests/delete_global_forwarding_rule.rb, line 5 def delete_global_forwarding_rule(name, _region_name = "global") get_global_forwarding_rule(name) global_forwarding_rule = data[:global_forwarding_rules][name] global_forwarding_rule["mock-deletionTimestamp"] = Time.now.iso8601 global_forwarding_rule["status"] = "DONE" operation = random_operation data[:operations][operation] = { "kind" => "compute#operation", "id" => Fog::Mock.random_numbers(19).to_s, "name" => operation, "zone" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global", "operationType" => "delete", "targetLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/forwardingRules/#{name}", "targetId" => data[:global_forwarding_rules][name]["id"], "status" => "DONE", "user" => "123456789012-qwertyuiopasdfghjkl1234567890qwe@developer.gserviceaccount.com", "progress" => 0, "insertTime" => Time.now.iso8601, "startTime" => Time.now.iso8601, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/operations/#{operation}" } build_excon_response(data[:operations][operation]) end
delete_global_operation(_operation)
click to toggle source
# File lib/fog/compute/google/requests/delete_global_operation.rb, line 5 def delete_global_operation(_operation) Fog::Mock.not_implemented end
delete_http_health_check(name)
click to toggle source
# File lib/fog/compute/google/requests/delete_http_health_check.rb, line 5 def delete_http_health_check(name) get_http_health_check(name) check = data[:http_health_checks][name] operation = random_operation data[:operations][operation] = { "kind" => "compute#operation", "id" => Fog::Mock.random_numbers(19).to_s, "name" => operation, "zone" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global", "operationType" => "delete", "targetLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/httpHealthChecks/#{name}", "targetId" => data[:http_health_checks][name]["id"], "status" => "DONE", "user" => "123456789012-qwertyuiopasdfghjkl1234567890qwe@developer.gserviceaccount.com", "progress" => 0, "insertTime" => Time.now.iso8601, "startTime" => Time.now.iso8601, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/operations/#{operation}" } build_excon_response(data[:operations][operation]) end
delete_image(image_name)
click to toggle source
# File lib/fog/compute/google/requests/delete_image.rb, line 5 def delete_image(image_name) get_image(image_name) operation = random_operation data[:operations][operation] = { "kind" => "compute#operation", "id" => Fog::Mock.random_numbers(19).to_s, "name" => operation, "operationType" => "delete", "targetLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/images/#{image_name}", "targetId" => data[:images][image_name]["id"], "status" => Fog::Compute::Google::Operation::PENDING_STATE, "user" => "123456789012-qwertyuiopasdfghjkl1234567890qwe@developer.gserviceaccount.com", "progress" => 0, "insertTime" => Time.now.iso8601, "startTime" => Time.now.iso8601, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/operations/#{operation}" } data[:images].delete image_name build_excon_response(data[:operations][operation]) end
delete_instance_group(_group_name, _zone)
click to toggle source
# File lib/fog/compute/google/requests/delete_instance_group.rb, line 5 def delete_instance_group(_group_name, _zone) Fog::Mock.not_implemented end
delete_network(_network_name)
click to toggle source
# File lib/fog/compute/google/requests/delete_network.rb, line 5 def delete_network(_network_name) Fog::Mock.not_implemented end
delete_region_operation(_region, _operation)
click to toggle source
# File lib/fog/compute/google/requests/delete_region_operation.rb, line 5 def delete_region_operation(_region, _operation) Fog::Mock.not_implemented end
delete_region_view(_region_view)
click to toggle source
# File lib/fog/compute/google/requests/delete_region_view.rb, line 5 def delete_region_view(_region_view) Fog::Mock.not_implemented end
delete_route(_identity)
click to toggle source
# File lib/fog/compute/google/requests/delete_route.rb, line 5 def delete_route(_identity) Fog::Mock.not_implemented end
delete_server(server_name, zone_name = nil)
click to toggle source
# File lib/fog/compute/google/requests/delete_server.rb, line 22 def delete_server(server_name, zone_name = nil) zone_name = find_zone(zone_name) get_server(server_name, zone_name) server = data[:servers][server_name] server["status"] = "STOPPED" server["mock-deletionTimestamp"] = Time.now.iso8601 operation = random_operation data[:operations][operation] = { "kind" => "compute#operation", "id" => Fog::Mock.random_numbers(19).to_s, "name" => operation, "zone" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone_name}", "operationType" => "delete", "targetLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone_name}/instances/#{server_name}", "targetId" => data[:servers][server_name]["id"], "status" => Fog::Compute::Google::Operation::PENDING_STATE, "user" => "123456789012-qwertyuiopasdfghjkl1234567890qwe@developer.gserviceaccount.com", "progress" => 0, "insertTime" => Time.now.iso8601, "startTime" => Time.now.iso8601, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone_name}/operations/#{operation}" } build_excon_response(data[:operations][operation]) end
delete_server_access_config(_identity, _zone, _nic, _options = {})
click to toggle source
# File lib/fog/compute/google/requests/delete_server_access_config.rb, line 5 def delete_server_access_config(_identity, _zone, _nic, _options = {}) Fog::Mock.not_implemented end
delete_snapshot(_snapshot_name)
click to toggle source
# File lib/fog/compute/google/requests/delete_snapshot.rb, line 5 def delete_snapshot(_snapshot_name) Fog::Mock.not_implemented end
delete_subnetwork(subnetwork_name, region_name)
click to toggle source
# File lib/fog/compute/google/requests/delete_subnetwork.rb, line 5 def delete_subnetwork(subnetwork_name, region_name) subnetwork_name = subnetwork_name.split("/")[-1] if subnetwork_name.start_with? "http" region_name = region_name.split("/")[-1] if region_name.start_with? "http" get_subnetwork(subnetwork_name, region_name) operation = random_operation data[:operations][operation] = { "kind" => "compute#operation", "id" => Fog::Mock.random_numbers(19).to_s, "name" => operation, "operationType" => "delete", "targetLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/#{region_name}/subnetworks/#{subnetwork_name}", "targetId" => data[:subnetworks][subnetwork_name]["id"], "status" => Fog::Compute::Google::Operation::PENDING_STATE, "user" => "123456789012-qwertyuiopasdfghjkl1234567890qwe@developer.gserviceaccount.com", "progress" => 0, "insertTime" => Time.now.iso8601, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/#{region_name}/operations/#{operation}", "region" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/#{region_name}" } data[:subnetworks].delete subnetwork_name build_excon_response(data[:operations][operation]) end
delete_target_http_proxy(name)
click to toggle source
# File lib/fog/compute/google/requests/delete_target_http_proxy.rb, line 5 def delete_target_http_proxy(name) get_target_http_proxy(name) target_http_proxy = data[:target_http_proxies][name] target_http_proxy["mock-deletionTimestamp"] = Time.now.iso8601 target_http_proxy["status"] = "DONE" operation = random_operation data[:operations][operation] = { "kind" => "compute#operation", "id" => Fog::Mock.random_numbers(19).to_s, "name" => operation, "zone" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global", "operationType" => "delete", "targetLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/targetHttpProxies/#{name}", "targetId" => data[:target_http_proxies][name]["id"], "status" => "DONE", "user" => "123456789012-qwertyuiopasdfghjkl1234567890qwe@developer.gserviceaccount.com", "progress" => 0, "insertTime" => Time.now.iso8601, "startTime" => Time.now.iso8601, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/operations/#{operation}" } build_excon_response(data[:operations][operation]) end
delete_target_instance(name, zone)
click to toggle source
# File lib/fog/compute/google/requests/delete_target_instance.rb, line 5 def delete_target_instance(name, zone) get_target_instance(name, zone) target_instance = data[:target_instances][name] target_instance["mock-deletionTimestamp"] = Time.now.iso8601 target_instance["status"] = "DONE" operation = random_operation data[:operations][operation] = { "kind" => "compute#operation", "id" => Fog::Mock.random_numbers(19).to_s, "name" => operation, "zone" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone}", "operationType" => "delete", "targetLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone}/targetInstances/#{name}", "targetId" => data[:target_instances][name]["id"], "status" => "DONE", "user" => "123456789012-qwertyuiopasdfghjkl1234567890qwe@developer.gserviceaccount.com", "progress" => 0, "insertTime" => Time.now.iso8601, "startTime" => Time.now.iso8601, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone}/operations/#{operation}" } build_excon_response(data[:operations][operation]) end
delete_target_pool(name, region_name)
click to toggle source
# File lib/fog/compute/google/requests/delete_target_pool.rb, line 5 def delete_target_pool(name, region_name) get_target_pool(name, region_name) id = Fog::Mock.random_numbers(19).to_s operation = random_operation data[:operations][operation] = { "kind" => "compute#operation", "id" => Fog::Mock.random_numbers(19).to_s, "name" => operation, "region" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/#{region_name}", "operationType" => "delete", "targetLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/#{region_name}/targetPools/#{name}", "targetId" => id, "status" => "DONE", "user" => "123456789012-qwertyuiopasdfghjkl1234567890qwe@developer.gserviceaccount.com", "progress" => 0, "insertTime" => Time.now.iso8601, "startTime" => Time.now.iso8601, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/#{region_name}/operations/#{operation}" } build_excon_response(data[:operations][operation]) end
delete_url_map(name)
click to toggle source
# File lib/fog/compute/google/requests/delete_url_map.rb, line 5 def delete_url_map(name) get_url_map(name) url_map = data[:url_maps][name] url_map["mock-deletionTimestamp"] = Time.now.iso8601 url_map["status"] = "DONE" operation = random_operation data[:operations][operation] = { "kind" => "compute#operation", "id" => Fog::Mock.random_numbers(19).to_s, "name" => operation, "zone" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global", "operationType" => "delete", "targetLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/urlMaps/#{name}", "targetId" => data[:url_maps][name]["id"], "status" => "DONE", "user" => "123456789012-qwertyuiopasdfghjkl1234567890qwe@developer.gserviceaccount.com", "progress" => 0, "insertTime" => Time.now.iso8601, "startTime" => Time.now.iso8601, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/operations/#{operation}" } build_excon_response(data[:operations][operation]) end
delete_zone_operation(_zone, _operation)
click to toggle source
# File lib/fog/compute/google/requests/delete_zone_operation.rb, line 5 def delete_zone_operation(_zone, _operation) Fog::Mock.not_implemented end
delete_zone_view(_zone_view)
click to toggle source
# File lib/fog/compute/google/requests/delete_zone_view.rb, line 5 def delete_zone_view(_zone_view) Fog::Mock.not_implemented end
detach_disk(_instance, _zone, _deviceName)
click to toggle source
# File lib/fog/compute/google/requests/detach_disk.rb, line 5 def detach_disk(_instance, _zone, _deviceName) Fog::Mock.not_implemented end
get_address(_address_name, _region_name)
click to toggle source
# File lib/fog/compute/google/requests/get_address.rb, line 5 def get_address(_address_name, _region_name) Fog::Mock.not_implemented end
get_backend_service(service_name)
click to toggle source
# File lib/fog/compute/google/requests/get_backend_service.rb, line 5 def get_backend_service(service_name) backend_service = data[:backend_services][service_name] return nil if backend_service.nil? build_excon_response(backend_service) end
get_backend_service_health(_backend_service)
click to toggle source
# File lib/fog/compute/google/requests/get_backend_service_health.rb, line 5 def get_backend_service_health(_backend_service) Fog::Mock.not_implemented end
get_backend_services(_service_name)
click to toggle source
# File lib/fog/compute/google/requests/get_backend_services.rb, line 5 def get_backend_services(_service_name) Fog::Mock.not_implemented end
get_disk(disk_name, zone_name)
click to toggle source
# File lib/fog/compute/google/requests/get_disk.rb, line 5 def get_disk(disk_name, zone_name) disk = data[:disks][disk_name] zone_name = zone_name.split("/")[-1] if zone_name.start_with? "http" get_zone(zone_name) zone = data[:zones][zone_name] if disk.nil? || disk["zone"] != zone["selfLink"] return build_excon_response("error" => { "errors" => [ { "domain" => "global", "reason" => "notFound", "message" => "The resource 'projects/#{@project}/zones/#{zone_name}/disks/#{disk_name}' was not found" } ], "code" => 404, "message" => "The resource 'projects/#{@project}/zones/#{zone_name}/disks/#{disk_name}' was not found" }) end # TODO: transition the disk through the states build_excon_response(disk) end
get_disk_type(identity, zone)
click to toggle source
# File lib/fog/compute/google/requests/get_disk_type.rb, line 5 def get_disk_type(identity, zone) disk_types = list_disk_types(zone).body["items"] disk_type = disk_types.select { |dt| dt["name"] == identity } || [] if disk_type.empty? return build_excon_response("error" => { "errors" => [ { "domain" => "global", "reason" => "notFound", "message" => "The resource 'projects/#{@project}/zones/#{zone}/diskTypes/#{identity}' was not found" } ], "code" => 404, "message" => "The resource 'projects/#{@project}/zones/#{zone}/diskTypes/#{identity}' was not found" }) end build_excon_response(disk_type.first) end
get_firewall(_firewall_name)
click to toggle source
# File lib/fog/compute/google/requests/get_firewall.rb, line 5 def get_firewall(_firewall_name) Fog::Mock.not_implemented end
get_forwarding_rule(name, region_name)
click to toggle source
# File lib/fog/compute/google/requests/get_forwarding_rule.rb, line 5 def get_forwarding_rule(name, region_name) forwarding_rule = data[:forwarding_rules][name] region_name = get_region(region_name).body["name"] region = data[:regions][region_name] if forwarding_rule.nil? || forwarding_rule["region"] != region["selfLink"] return build_excon_response("error" => { "errors" => [ { "domain" => "global", "reason" => "notFound", "message" => "The resource 'projects/#{@project}/regions/#{region_name}/forwarding_rules/#{name}' was not found" } ], "code" => 404, "message" => "The resource 'projects/#{@project}/regions/#{region_name}/forwarding_rules/#{name}' was not found" }) end build_excon_response(forwarding_rule) end
get_global_forwarding_rule(name, _region_name = "global")
click to toggle source
# File lib/fog/compute/google/requests/get_global_forwarding_rule.rb, line 5 def get_global_forwarding_rule(name, _region_name = "global") global_forwarding_rule = data[:global_forwarding_rules][name] return nil if global_forwarding_rule.nil? build_excon_response(global_forwarding_rule) end
get_global_operation(operation)
click to toggle source
# File lib/fog/compute/google/requests/get_global_operation.rb, line 5 def get_global_operation(operation) operation = data[:operations][operation] if operation case operation["status"] when Fog::Compute::Google::Operation::PENDING_STATE operation["status"] = Fog::Compute::Google::Operation::RUNNING_STATE operation["progress"] = 50 else operation["status"] = Fog::Compute::Google::Operation::DONE_STATE operation["progress"] = 100 end else operation = { "error" => { "errors" => [ { "domain" => "global", "reason" => "notFound", "message" => "The resource 'projects/#{project}/global/operations/#{operation}' was not found" } ], "code" => 404, "message" => "The resource 'projects/#{project}/global/operations/#{operation}' was not found" } } end build_excon_response(operation) end
get_http_health_check(name)
click to toggle source
# File lib/fog/compute/google/requests/get_http_health_check.rb, line 5 def get_http_health_check(name) http_health_check = data[:http_health_checks][name] if http_health_check.nil? return build_excon_response("error" => { "errors" => [ { "domain" => "global", "reason" => "notFound", "message" => "The resource 'projects/#{@project}/global/httpHealthChecks/#{name}' was not found" } ], "code" => 404, "message" => "The resource 'projects/#{@project}/global/httpHealthChecks/#{name}' was not found" }) end build_excon_response(http_health_check) end
get_image(image_name, project = @project)
click to toggle source
# File lib/fog/compute/google/requests/get_image.rb, line 5 def get_image(image_name, project = @project) image = data(project)[:images][image_name] || { "error" => { "errors" => [ { "domain" => "global", "reason" => "notFound", "message" => "The resource 'projects/#{project}/global/images/#{image_name}' was not found" } ], "code" => 404, "message" => "The resource 'projects/#{project}/global/images/#{image_name}' was not found" } } build_excon_response(image) end
get_instance_group(_group_name, _zone, _project = @project)
click to toggle source
# File lib/fog/compute/google/requests/get_instance_group.rb, line 5 def get_instance_group(_group_name, _zone, _project = @project) Fog::Mock.not_implemented end
get_machine_type(machine_type_name, zone_name = nil)
click to toggle source
# File lib/fog/compute/google/requests/get_machine_type.rb, line 5 def get_machine_type(machine_type_name, zone_name = nil) zone_name = data[:zones].keys.first if zone_name.nil? get_zone(zone_name) machine_type = data[:machine_types][zone_name][machine_type_name] || { "error" => { "errors" => [ { "domain" => "global", "reason" => "notFound", "message" => "The resource 'projects/#{@project}/zones/#{zone_name}/machineTypes/#{machine_type_name}' was not found" } ], "code" => 404, "message" => "The resource 'projects/#{@project}/zones/#{zone_name}/machineTypes/#{machine_type_name}' was not found" } } build_excon_response(machine_type) end
get_network(_network_name)
click to toggle source
# File lib/fog/compute/google/requests/get_network.rb, line 5 def get_network(_network_name) Fog::Mock.not_implemented end
get_project(_identity)
click to toggle source
# File lib/fog/compute/google/requests/get_project.rb, line 5 def get_project(_identity) Fog::Mock.not_implemented end
get_region(identity)
click to toggle source
# File lib/fog/compute/google/requests/get_region.rb, line 5 def get_region(identity) rname = identity.split("/")[-1] region = data[:regions][rname] || { "error" => { "errors" => [ { "domain" => "global", "reason" => "notFound", "message" => "The resource 'projects/#{project}/regions/#{rname}' was not found" } ], "code" => 404, "message" => "The resource 'projects/#{project}/regions/#{rname}' was not found" } } build_excon_response(region) end
get_region_operation(region_name, operation)
click to toggle source
# File lib/fog/compute/google/requests/get_region_operation.rb, line 5 def get_region_operation(region_name, operation) operation = data[:operations][operation] if operation case operation["status"] when Fog::Compute::Google::Operation::PENDING_STATE operation["status"] = Fog::Compute::Google::Operation::RUNNING_STATE operation["progress"] = 50 else operation["status"] = Fog::Compute::Google::Operation::DONE_STATE operation["progress"] = 100 end else operation = { "error" => { "errors" => [ { "domain" => "global", "reason" => "notFound", "message" => "The resource 'projects/#{project}/regions/#{region_name}/operations/#{operation}' was not found" } ], "code" => 404, "message" => "The resource 'projects/#{project}/regions/#{region_name}/operations/#{operation}' was not found" } } end build_excon_response(operation) end
get_region_view(_region_view_name, _region)
click to toggle source
# File lib/fog/compute/google/requests/get_region_view.rb, line 5 def get_region_view(_region_view_name, _region) Fog::Mock.not_implemented end
get_route(_identity)
click to toggle source
# File lib/fog/compute/google/requests/get_route.rb, line 5 def get_route(_identity) Fog::Mock.not_implemented end
get_server(server_name, zone_name)
click to toggle source
# File lib/fog/compute/google/requests/get_server.rb, line 5 def get_server(server_name, zone_name) server = data[:servers][server_name] get_zone(zone_name) zone = data[:zones][zone_name] if server.nil? || server["zone"] != zone["selfLink"] return build_excon_response("error" => { "errors" => [ { "domain" => "global", "reason" => "notFound", "message" => "The resource 'projects/#{@project}/zones/#{zone_name}/instances/#{server_name}' was not found" } ], "code" => 404, "message" => "The resource 'projects/#{@project}/zones/#{zone_name}/instances/#{server_name}' was not found" }) end # transition the server through the provisioning -> staging -> running states creation_time = Time.iso8601(server["creationTimestamp"]) case server["status"] when "PROVISIONING" if Time.now - creation_time > Fog::Mock.delay / 2 server["status"] = "STAGING" end when "STAGING" if Time.now - creation_time > Fog::Mock.delay server["status"] = "RUNNING" end when "STOPPED" if server["mock-deletionTimestamp"] # stopped -> terminated if Time.now - Time.iso8601(server["mock-deletionTimestamp"]) > Fog::Mock.delay server["status"] = "TERMINATED" end end when "TERMINATED" if Time.now - Time.iso8601(server["mock-deletionTimestamp"]) > Fog::Mock.delay data[:servers][server_name] = nil end end build_excon_response(server) end
get_server_serial_port_output(_identity, _zone)
click to toggle source
# File lib/fog/compute/google/requests/get_server_serial_port_output.rb, line 5 def get_server_serial_port_output(_identity, _zone) Fog::Mock.not_implemented end
get_snapshot(_snap_name)
click to toggle source
# File lib/fog/compute/google/requests/get_snapshot.rb, line 5 def get_snapshot(_snap_name) Fog::Mock.not_implemented end
get_subnetwork(subnetwork_name, region_name)
click to toggle source
# File lib/fog/compute/google/requests/get_subnetwork.rb, line 5 def get_subnetwork(subnetwork_name, region_name) subnetwork_name = subnetwork_name.split("/")[-1] if subnetwork_name.start_with? "http" region_name = region_name.split("/")[-1] if region_name.start_with? "http" subnetwork = data[:subnetworks][subnetwork_name] unless subnetwork && subnetwork["region"].split("/")[-1] == region_name return build_excon_response("error" => { "errors" => [ { "domain" => "global", "reason" => "notFound", "message" => "The resource 'projects/#{@project}/regions/#{region_name}/subnetworks/#{subnetwork_name}' was not found" } ], "code" => 404, "message" => "The resource 'projects/#{@project}/regions/#{region_name}/subnetworks/#{subnetwork_name}' was not found" }) end build_excon_response(subnetwork) end
get_target_http_proxy(name)
click to toggle source
# File lib/fog/compute/google/requests/get_target_http_proxy.rb, line 5 def get_target_http_proxy(name) proxy = data[:target_http_proxies][name] return nil if proxy.nil? build_excon_response(proxy) end
get_target_instance(name, _zone_name)
click to toggle source
# File lib/fog/compute/google/requests/get_target_instance.rb, line 5 def get_target_instance(name, _zone_name) target_instance = data[:target_instances][name] return nil if target_instance.nil? build_excon_response(target_instance) end
get_target_pool(name, region_name)
click to toggle source
# File lib/fog/compute/google/requests/get_target_pool.rb, line 5 def get_target_pool(name, region_name) region = get_region(region_name) target_pool = data[:target_pools][name] || { "error" => { "errors" => [{ "domain" => "global", "reason" => "notFound", "message" => "The resource 'projects/#{project}/regions/#{region_name}/targetPools/#{name}' was not found" }], "code" => 404, "message" => "The resource 'projects/#{project}/regions/#{region_name}/targetPools/#{name}' was not found" } } build_excon_response(target_pool) end
get_target_pool_health(_target_pool)
click to toggle source
# File lib/fog/compute/google/requests/get_target_pool_health.rb, line 5 def get_target_pool_health(_target_pool) Fog::Mock.not_implemented end
get_url_map(name)
click to toggle source
# File lib/fog/compute/google/requests/get_url_map.rb, line 5 def get_url_map(name) url_map = data[:url_maps][name] return nil if url_map.nil? build_excon_response(url_map) end
get_zone(zone_name)
click to toggle source
# File lib/fog/compute/google/requests/get_zone.rb, line 5 def get_zone(zone_name) zone = data[:zones][zone_name] || { "error" => { "errors" => [ { "domain" => "global", "reason" => "notFound", "message" => "The resource 'projects/#{project}/zones/#{zone_name}' was not found" } ], "code" => 404, "message" => "The resource 'projects/#{project}/zones/#{zone_name}' was not found" } } build_excon_response(zone) end
get_zone_operation(zone_name, operation)
click to toggle source
# File lib/fog/compute/google/requests/get_zone_operation.rb, line 5 def get_zone_operation(zone_name, operation) operation = data[:operations][operation] if operation case operation["status"] when Fog::Compute::Google::Operation::PENDING_STATE operation["status"] = Fog::Compute::Google::Operation::RUNNING_STATE operation["progress"] = 50 else operation["status"] = Fog::Compute::Google::Operation::DONE_STATE operation["progress"] = 100 end else operation = { "error" => { "errors" => [ { "domain" => "global", "reason" => "notFound", "message" => "The resource 'projects/#{project}/zones/#{zone_name}/operations/#{operation}' was not found" } ], "code" => 404, "message" => "The resource 'projects/#{project}/zones/#{zone_name}/operations/#{operation}' was not found" } } end build_excon_response(operation) end
get_zone_view(_zone_view)
click to toggle source
# File lib/fog/compute/google/requests/get_zone_view.rb, line 5 def get_zone_view(_zone_view) Fog::Mock.not_implemented end
handle_disks(options, zone_name)
click to toggle source
# File lib/fog/compute/google/requests/insert_server.rb, line 7 def handle_disks(options, zone_name) disks = [] i = 0 options.delete("disks").each do |disk| disk = Disk.new(disk) unless disk.is_a? Disk disks << { "kind" => "compute#attachedDisk", "index" => i, "type" => "PERSISTENT", "mode" => "READ_WRITE", "source" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone_name}/disks/#{disk.name}", "deviceName" => "persistent-disk-#{i}", "boot" => true } i += 1 end disks end
insert_address(_address_name, _region_name, _options = {})
click to toggle source
# File lib/fog/compute/google/requests/insert_address.rb, line 5 def insert_address(_address_name, _region_name, _options = {}) Fog::Mock.not_implemented end
insert_backend_service(backend_service_name, opts = {})
click to toggle source
# File lib/fog/compute/google/requests/insert_backend_service.rb, line 5 def insert_backend_service(backend_service_name, opts = {}) id = Fog::Mock.random_numbers(19).to_s data[:backend_services][backend_service_name] = { "kind" => "compute#backendService", "id" => id, "creationTimestamp" => Time.now.iso8601, "name" => backend_service_name, "description" => "", "backends" => [ { "description" => "", "group" => 'https://www.googleapis.com/resourceviews/v1beta1/projects#{@project}/zones/us-central1-a/zoneViews/name', "balancingMode" => "RATE", "capacityScaler" => 1.1, "maxRate" => 0.5 }], "healthChecks" => [opts["health_check"]], "timeoutSec" => 30, "port" => 80, "protocol" => "TCP", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/backendServices/#{backend_service_name}" } operation = random_operation data[:operations][operation] = { "kind" => "compute#operation", "id" => Fog::Mock.random_numbers(19).to_s, "name" => operation, "zone" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global", "operationType" => "insert", "targetLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/backendServces/#{backend_service_name}", "targetId" => id, "status" => Fog::Compute::Google::Operation::PENDING_STATE, "user" => "123456789012-qwertyuiopasdfghjkl1234567890qwe@developer.gserviceaccount.com", "progress" => 0, "insertTime" => Time.now.iso8601, "startTime" => Time.now.iso8601, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/operations/#{operation}" } build_excon_response(data[:operations][operation]) end
insert_disk(disk_name, zone_name, image_name = nil, options = {})
click to toggle source
# File lib/fog/compute/google/requests/insert_disk.rb, line 5 def insert_disk(disk_name, zone_name, image_name = nil, options = {}) # check that image and zone exist image = nil if image_name image = images.get(image_name) raise ArgumentError.new("Invalid image specified: #{image_name}") unless image end get_zone(zone_name) id = Fog::Mock.random_numbers(19).to_s object = { "kind" => "compute#disk", "id" => id, "creationTimestamp" => Time.now.iso8601, "zone" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone_name}", "status" => "READY", "name" => disk_name, "sizeGb" => options["sizeGb"] || "10", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone_name}/disks/#{disk_name}" } if image object.merge("sourceImage" => image.self_link, "sourceImageId" => image.id) end data[:disks][disk_name] = object if image object.merge!("sourceImage" => image.self_link, "sourceImageId" => image.id) end if disk_type = options.delete(:type) object["type"] = type else object["type"] = "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone_name}/diskTypes/pd-standard" end data[:disks][disk_name] = object operation = random_operation data[:operations][operation] = { "kind" => "compute#operation", "id" => Fog::Mock.random_numbers(19).to_s, "name" => operation, "zone" => object["zone"], "operationType" => "insert", "targetLink" => object["selfLink"], "targetId" => id, "status" => Fog::Compute::Google::Operation::PENDING_STATE, "user" => "123456789012-qwertyuiopasdfghjkl1234567890qwe@developer.gserviceaccount.com", "progress" => 0, "insertTime" => Time.now.iso8601, "startTime" => Time.now.iso8601, "selfLink" => "#{object['zone']}/operations/#{operation}" } build_excon_response(data[:operations][operation]) end
insert_firewall(_firewall_name, _allowed, _network = GOOGLE_COMPUTE_DEFAULT_NETWORK, _options = {})
click to toggle source
# File lib/fog/compute/google/requests/insert_firewall.rb, line 5 def insert_firewall(_firewall_name, _allowed, _network = GOOGLE_COMPUTE_DEFAULT_NETWORK, _options = {}) Fog::Mock.not_implemented end
insert_forwarding_rule(name, region_name, opts = {})
click to toggle source
# File lib/fog/compute/google/requests/insert_forwarding_rule.rb, line 5 def insert_forwarding_rule(name, region_name, opts = {}) # check that region exists get_region(region_name) id = Fog::Mock.random_numbers(19).to_s data[:forwarding_rules][name] = { "kind" => "compute#forwardingRule", "id" => id, "creationTimestamp" => Time.now.iso8601, "name" => name, "description" => "", "region" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/#{region_name}", "IPAddress" => "", "IPProtocol" => "", "portRange" => "", "target" => opts["target"], "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/#{region_name}/forwardingRules/#{name}" } operation = random_operation data[:operations][operation] = { "kind" => "compute#operation", "id" => Fog::Mock.random_numbers(19).to_s, "name" => operation, "region" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/#{region_name}", "operationType" => "insert", "targetLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/#{region_name}/forwardingRules/#{name}", "targetId" => id, "status" => Fog::Compute::Google::Operation::PENDING_STATE, "user" => "123456789012-qwertyuiopasdfghjkl1234567890qwe@developer.gserviceaccount.com", "progress" => 0, "insertTime" => Time.now.iso8601, "startTime" => Time.now.iso8601, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/#{region_name}/operations/#{operation}" } build_excon_response(data[:operations][operation]) end
insert_global_forwarding_rule(name, opts = {})
click to toggle source
# File lib/fog/compute/google/requests/insert_global_forwarding_rule.rb, line 5 def insert_global_forwarding_rule(name, opts = {}) id = Fog::Mock.random_numbers(19).to_s data[:global_forwarding_rules][name] = { "kind" => "compute#forwardingRule", "id" => id, "creationTimestamp" => Time.now.iso8601, "name" => name, "description" => "", "region" => "global", "IPAddress" => "", "IPProtocol" => "", "portRange" => "", "target" => opts["target"], "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/forwardingRules/#{name}" } operation = random_operation data[:operations][operation] = { "kind" => "compute#operation", "id" => Fog::Mock.random_numbers(19).to_s, "name" => operation, "zone" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global", "operationType" => "insert", "targetLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/forwardingRules/#{name}", "targetId" => id, "status" => Fog::Compute::Google::Operation::PENDING_STATE, "user" => "123456789012-qwertyuiopasdfghjkl1234567890qwe@developer.gserviceaccount.com", "progress" => 0, "insertTime" => Time.now.iso8601, "startTime" => Time.now.iso8601, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/operations/#{operation}" } build_excon_response(data[:operations][operation]) end
insert_http_health_check(name, _options = {})
click to toggle source
# File lib/fog/compute/google/requests/insert_http_health_check.rb, line 5 def insert_http_health_check(name, _options = {}) id = Fog::Mock.random_numbers(19).to_s data[:http_health_checks][name] = { "kind" => "compute#httpHealthCheck", "id" => id, "creationTimestamp" => Time.now.iso8601, "name" => name, "description" => "", "host" => "0.00.0.0", "requestPath" => "/", "port" => 80, "checkIntervalSec" => 5, "timeoutSec" => 5, "unhealthyThreshold" => 2, "healthyThreshold" => 2, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/httpHealthChecks/#{name}" } operation = random_operation data[:operations][operation] = { "kind" => "compute#operation", "id" => Fog::Mock.random_numbers(19).to_s, "name" => operation, "zone" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global", "operationType" => "insert", "targetLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/httpHealthChecks/#{name}", "targetId" => id, "status" => Fog::Compute::Google::Operation::PENDING_STATE, "user" => "123456789012-qwertyuiopasdfghjkl1234567890qwe@developer.gserviceaccount.com", "progress" => 0, "insertTime" => Time.now.iso8601, "startTime" => Time.now.iso8601, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/operations/#{operation}" } build_excon_response(data[:operations][operation]) end
insert_image(image_name, options = {})
click to toggle source
# File lib/fog/compute/google/requests/insert_image.rb, line 5 def insert_image(image_name, options = {}) id = Fog::Mock.random_numbers(19).to_s object = { "kind" => "compute#image", "id" => id, "creationTimestamp" => Time.now.iso8601, "sourceType" => "", "rawDisk" => { "source" => options ["source"], "shal1Checksum" => "", "containerType" => "" }, "status" => "READY", "name" => image_name, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/images/#{image_name}" } data[:images][image_name] = object operation = random_operation data[:operations][operation] = { "kind" => "compute#operation", "id" => Fog::Mock.random_numbers(19).to_s, "name" => operation, "operationType" => "insert", "targetLink" => object["selfLink"], "targetId" => id, "status" => Fog::Compute::Google::Operation::PENDING_STATE, "user" => "123456789012-qwertyuiopasdfghjkl1234567890qwe@developer.gserviceaccount.com", "progress" => 0, "insertTime" => Time.now.iso8601, "startTime" => Time.now.iso8601, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/operations/#{operation}" } build_excon_response(data[:operations][operation]) end
insert_instance_group(_group_name, _zone, _options = {})
click to toggle source
# File lib/fog/compute/google/requests/insert_instance_group.rb, line 5 def insert_instance_group(_group_name, _zone, _options = {}) Fog::Mock.not_implemented end
insert_network(_network_name, _ip_range, _options = {})
click to toggle source
# File lib/fog/compute/google/requests/insert_network.rb, line 5 def insert_network(_network_name, _ip_range, _options = {}) Fog::Mock.not_implemented end
insert_region_view(_region_view_name, _region_name)
click to toggle source
# File lib/fog/compute/google/requests/insert_region_view.rb, line 5 def insert_region_view(_region_view_name, _region_name) Fog::Mock.not_implemented end
insert_route(_name, _network, _dest_range, _priority, _options = {})
click to toggle source
# File lib/fog/compute/google/requests/insert_route.rb, line 5 def insert_route(_name, _network, _dest_range, _priority, _options = {}) Fog::Mock.not_implemented end
insert_server(server_name, zone_name, options = {}, *_deprecated_args)
click to toggle source
# File lib/fog/compute/google/requests/insert_server.rb, line 26 def insert_server(server_name, zone_name, options = {}, *_deprecated_args) # check that zone exists get_zone(zone_name) if options["disks"].nil? || options["disks"].empty? raise ArgumentError.new "Empty value for field 'disks'. Boot disk must be specified" end id = Fog::Mock.random_numbers(19).to_s data[:servers][server_name] = { "kind" => "compute#instance", "id" => id, "creationTimestamp" => Time.now.iso8601, "zone" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone_name}", "status" => "PROVISIONING", "name" => server_name, "tags" => { "fingerprint" => "42WmSpB8rSM=" }, "machineType" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone_name}/machineTypes/#{options['machineType']}", "canIpForward" => false, "networkInterfaces" => [ { "network" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/networks/default", "networkIP" => Fog::Mock.random_ip, "name" => "nic0", "accessConfigs" => [ { "kind" => "compute#accessConfig", "type" => "ONE_TO_ONE_NAT", "name" => "External NAT", "natIP" => Fog::Mock.random_ip } ] } ], "disks" => handle_disks(options, zone_name), "metadata" => { "kind" => "compute#metadata", "fingerprint" => "5_hasd_gC3E=", "items" => [ { "key" => "sshKeys", "value" => "sysadmin:ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEA1zc7mx+0H8Roywet/L0aVX6MUdkDfzd/17kZhprAbpUXYOILv9AG4lIzQk6xGxDIltghytjfVGme/4A42Sb0Z9LN0pxB4KnWTNoOSHPJtp6jbXpq6PdN9r3Z5NKQg0A/Tfw7gt2N0GDsj6vpK8VbHHdW78JAVUxql18ootJxjaksdocsiHNK8iA6/v9qiLRhX3fOgtK7KpxxdZxLRzFg9vkp8jcGISgpZt27kOgXWhR5YLhi8pRJookzphO5O4yhflgoHoAE65XkfrsRCe0HU5QTbY2jH88rBVkq0KVlZh/lEsuwfmG4d77kEqaCGGro+j1Wrvo2K3DSQ+rEcvPp2CYRUySjhaeLF18UzQLtxNeoN14QOYqlm9ITdkCnmq5w4Wn007MjSOFp8LEq2RekrnddGXjg1/vgmXtaVSGzJAlXwtVfZor3dTRmF0JCpr7DsiupBaDFtLUlGFFlSKmPDVMPOOB5wajexmcvSp2Vu4U3yP8Lai/9/ZxMdsGPhpdCsWVL83B5tF4oYj1HVIycbYIxIIfFqOxZcCru3CMfe9jmzKgKLv2UtkfOS8jpS/Os2gAiB3wPweH3agvtwYAYBVMDwt5cnrhgHYWoOz7ABD8KgmCrD7Y9HikiCqIUNkgUFd9YmjcYi5FkU5rFXIawN7efs341lsdf923lsdf923fs= johndoe@acme" } ] }, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone_name}/instances/#{server_name}" } operation = random_operation data[:operations][operation] = { "kind" => "compute#operation", "id" => Fog::Mock.random_numbers(19).to_s, "name" => operation, "zone" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone_name}", "operationType" => "insert", "targetLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone_name}/instances/#{server_name}", "targetId" => id, "status" => Fog::Compute::Google::Operation::PENDING_STATE, "user" => "123456789012-qwertyuiopasdfghjkl1234567890qwe@developer.gserviceaccount.com", "progress" => 0, "insertTime" => Time.now.iso8601, "startTime" => Time.now.iso8601, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone_name}/operations/#{operation}" } build_excon_response(data[:operations][operation]) end
insert_snapshot(_snap_name)
click to toggle source
# File lib/fog/compute/google/requests/insert_snapshot.rb, line 5 def insert_snapshot(_snap_name) Fog::Mock.not_implemented end
insert_subnetwork(subnetwork_name, region_name, network, ip_range, _options = {})
click to toggle source
# File lib/fog/compute/google/requests/insert_subnetwork.rb, line 5 def insert_subnetwork(subnetwork_name, region_name, network, ip_range, _options = {}) subnetwork_name = subnetwork_name.split("/")[-1] if subnetwork_name.start_with? "http" region_name = region_name.split("/")[-1] if region_name.start_with? "http" network_name = network.split("/")[-1] gateway = ip_range.split("/").first.split(".") gateway[-1] = "1" id = Fog::Mock.random_numbers(19).to_s object = { "kind" => "compute#subnetwork", "id" => id, "creationTimestamp" => Time.now.iso8601, "gatewayAddress" => gateway.join("."), "name" => subnetwork_name, "network" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/networks/#{network_name}", "ipCidrRange" => ip_range, "region" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/#{region_name}", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/#{region_name}/subnetworks/#{subnetwork_name}" } data[:subnetworks][subnetwork_name] = object operation = random_operation data[:operations][operation] = { "kind" => "compute#operation", "id" => Fog::Mock.random_numbers(19).to_s, "name" => operation, "region" => object["region"], "operationType" => "insert", "targetLink" => object["selfLink"], "targetId" => id, "status" => Fog::Compute::Google::Operation::PENDING_STATE, "user" => "123456789012-qwertyuiopasdfghjkl1234567890qwe@developer.gserviceaccount.com", "progress" => 0, "insertTime" => Time.now.iso8601, "startTime" => Time.now.iso8601, "selfLink" => "#{object['region']}/operations/#{operation}" } build_excon_response(data[:operations][operation]) end
insert_target_http_proxy(name, options = {})
click to toggle source
# File lib/fog/compute/google/requests/insert_target_http_proxy.rb, line 5 def insert_target_http_proxy(name, options = {}) id = Fog::Mock.random_numbers(19).to_s data[:target_http_proxies][name] = { "kind" => "compute#targetHttpProxy", "id" => id, "creationTimestamp" => Time.now.iso8601, "name" => name, "description" => "", "urlMap" => options["urlMap"], "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/targetHttpProxies/#{name}" } operation = random_operation data[:operations][operation] = { "kind" => "compute#operation", "id" => Fog::Mock.random_numbers(19).to_s, "name" => operation, "zone" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global", "operationType" => "insert", "targetLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/targetHttpProxies/#{name}", "targetId" => id, "status" => Fog::Compute::Google::Operation::PENDING_STATE, "user" => "123456789012-qwertyuiopasdfghjkl1234567890qwe@developer.gserviceaccount.com", "progress" => 0, "insertTime" => Time.now.iso8601, "startTime" => Time.now.iso8601, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/operations/#{operation}" } build_excon_response(data[:operations][operation]) end
insert_target_instance(target_instance, zone_name, opts = {})
click to toggle source
# File lib/fog/compute/google/requests/insert_target_instance.rb, line 5 def insert_target_instance(target_instance, zone_name, opts = {}) id = Fog::Mock.random_numbers(19).to_s data[:target_instances][target_instance] = { "kind" => "compute#targetInstance", "id" => id, "creationTimestamp" => Time.now.iso8601, "name" => target_instance, "description" => "", "natPolicy" => "", "zone" => zone_name, "instance" => opts["instance"], "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone_name}/targetInstances/#{target_instance}" } operation = random_operation data[:operations][operation] = { "kind" => "compute#operation", "id" => Fog::Mock.random_numbers(19).to_s, "name" => operation, "zone" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone_name}", "operationType" => "insert", "targetLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone_name}/targetInstances/#{target_instance}", "targetId" => id, "status" => Fog::Compute::Google::Operation::PENDING_STATE, "user" => "123456789012-qwertyuiopasdfghjkl1234567890qwe@developer.gserviceaccount.com", "progress" => 0, "insertTime" => Time.now.iso8601, "startTime" => Time.now.iso8601, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone_name}/operations/#{operation}" } build_excon_response(data[:operations][operation]) end
insert_target_pool(name, region_name, opts = {})
click to toggle source
# File lib/fog/compute/google/requests/insert_target_pool.rb, line 5 def insert_target_pool(name, region_name, opts = {}) # check that region exists get_region(region_name) id = Fog::Mock.random_numbers(19).to_s data[:target_pools][name] = { "kind" => "compute#targetPools", "id" => id, "creationTimestamp" => Time.now.iso8601, "name" => name, "description" => "", "region" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/#{region_name}", "instances" => opts["instances"], "healthChecks" => opts["healthChecks"], "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/#{region_name}/targetPools/#{name}" } operation = random_operation data[:operations][operation] = { "kind" => "compute#operation", "id" => Fog::Mock.random_numbers(19).to_s, "name" => operation, "region" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/#{region_name}", "operationType" => "insert", "targetLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/#{region_name}/targetPools/#{name}", "targetId" => id, "status" => Fog::Compute::Google::Operation::PENDING_STATE, "user" => "123456789012-qwertyuiopasdfghjkl1234567890qwe@developer.gserviceaccount.com", "progress" => 0, "insertTime" => Time.now.iso8601, "startTime" => Time.now.iso8601, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/#{region_name}/operations/#{operation}" } build_excon_response(data[:operations][operation]) end
insert_url_map(url_map_name, opts)
click to toggle source
# File lib/fog/compute/google/requests/insert_url_map.rb, line 5 def insert_url_map(url_map_name, opts) id = Fog::Mock.random_numbers(19).to_s data[:url_maps][url_map_name] = { "kind" => "compute#urlMap", "id" => id, "creationTimestamp" => Time.now.iso8601, "name" => url_map_name, "description" => "", "hostRules" => [], "pathMatchers" => [], "tests" => [], "defaultService" => opts["defaultService"], "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/urlMaps/#{url_map_name}" } operation = random_operation data[:operations][operation] = { "kind" => "compute#operation", "id" => Fog::Mock.random_numbers(19).to_s, "name" => operation, "zone" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global", "operationType" => "insert", "targetLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/urlMaps/#{url_map_name}", "targetId" => id, "status" => Fog::Compute::Google::Operation::PENDING_STATE, "user" => "123456789012-qwertyuiopasdfghjkl1234567890qwe@developer.gserviceaccount.com", "progress" => 0, "insertTime" => Time.now.iso8601, "startTime" => Time.now.iso8601, "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/operations/#{operation}" } build_excon_response(data[:operations][operation]) end
insert_zone_view(_zone_view_name, _zone_name)
click to toggle source
# File lib/fog/compute/google/requests/insert_zone_view.rb, line 5 def insert_zone_view(_zone_view_name, _zone_name) Fog::Mock.not_implemented end
list_addresses(_region_name)
click to toggle source
# File lib/fog/compute/google/requests/list_addresses.rb, line 5 def list_addresses(_region_name) Fog::Mock.not_implemented end
list_aggregated_addresses(_options = {})
click to toggle source
# File lib/fog/compute/google/requests/list_aggregated_addresses.rb, line 5 def list_aggregated_addresses(_options = {}) Fog::Mock.not_implemented end
list_aggregated_disk_types(options = {})
click to toggle source
# File lib/fog/compute/google/requests/list_aggregated_disk_types.rb, line 5 def list_aggregated_disk_types(options = {}) disk_types_items = {} if options[:filter] disk_type = options[:filter].gsub(/name eq \.\*/, "") data[:zones].keys.each do |zone| disk_types = list_disk_types(zone).body["items"].select { |dt| dt["name"] == disk_type } || [] disk_types_items["zones/#{zone}"] = { "diskTypes" => disk_types } unless disk_types.empty? end else data[:zones].keys.each do |zone| disk_types = list_disk_types(zone).body["items"] disk_types_items["zones/#{zone}"] = { "diskTypes" => disk_types } end end build_excon_response("kind" => 'compute#diskTypeAggregatedList', "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/aggregated/diskTypes", "items" => disk_types_items) end
list_aggregated_disks(options = {})
click to toggle source
# File lib/fog/compute/google/requests/list_aggregated_disks.rb, line 5 def list_aggregated_disks(options = {}) # Create a Hash of unique zones from the disks Array previously filled when disks are created zones = Hash[data[:disks].values.map { |disk| ["zones/#{disk['zone'].split('/')[-1]}", { "disks" => [] }] }] if options[:filter] # Look up for the disk name disk = data[:disks][options[:filter].gsub(/name eq \.\*/, "")] # Fill the zones Hash with the disk (if it's found) zones["zones/#{disk['zone'].split('/')[-1]}"]["disks"].concat([disk]) if disk else # Fill the zones Hash with the disks attached to each zone data[:disks].values.each { |disk| zones["zones/#{disk['zone'].split('/')[-1]}"]["disks"].concat([disk]) } end build_excon_response("kind" => "compute#diskAggregatedList", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/aggregated/disks", "id" => "projects/#{@project}/aggregated/disks", "items" => zones) end
list_aggregated_instance_groups(_options = {})
click to toggle source
# File lib/fog/compute/google/requests/list_aggregated_instance_groups.rb, line 5 def list_aggregated_instance_groups(_options = {}) Fog::Mock.not_implemented end
list_aggregated_machine_types()
click to toggle source
# File lib/fog/compute/google/requests/list_aggregated_machine_types.rb, line 5 def list_aggregated_machine_types Fog::Mock.not_implemented end
list_aggregated_servers(options = {})
click to toggle source
# File lib/fog/compute/google/requests/list_aggregated_servers.rb, line 5 def list_aggregated_servers(options = {}) # Create a Hash of unique zones from the servers Array previously filled when servers are created zones = Hash[data[:servers].values.map { |server| ["zones/#{server['zone'].split('/')[-1]}", { "instances" => [] }] }] if options[:filter] # Look up for the server name server = data[:servers][options[:filter].gsub(/name eq \.\*/, "")] # Fill the zones Hash with the server (if it's found) zones["zones/#{server['zone'].split('/')[-1]}"]["instances"].concat([server]) if server else # Fill the zones Hash with the servers attached to each zone data[:servers].values.each { |server| zones["zones/#{server['zone'].split('/')[-1]}"]["instances"].concat([server]) } end build_excon_response("kind" => "compute#instanceAggregatedList", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/aggregated/instances", "id" => "projects/#{@project}/aggregated/instances", "items" => zones) end
list_aggregated_subnetworks(_options = {})
click to toggle source
# File lib/fog/compute/google/requests/list_aggregated_subnetworks.rb, line 5 def list_aggregated_subnetworks(_options = {}) subnetworks_by_region = data[:subnetworks].each_with_object({}) do |(_, subnetwork), memo| region = subnetwork["region"].split("/")[-2..-1].join("/") memo[region] ||= { "subnetworks" => [] } memo[region]["subnetworks"].push subnetwork end build_excon_response("kind" => "compute#subnetworkAggregatedList", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/aggregated/subnetworks", "items" => subnetworks_by_region) end
list_aggregated_target_instances(options = {})
click to toggle source
# File lib/fog/compute/google/requests/list_aggregated_target_instances.rb, line 7 def list_aggregated_target_instances(options = {}) # Create a Hash of unique zones from the target_instances Array previously filled when target_instances are created zones = Hash[data[:target_instances].values.map { |target_instance| ["zones/#{target_instance['zone'].split('/')[-1]}", { "targetInstances" => [] }] }] if options[:filter] # Look up for the target_instance name target_instance = data[:target_instances][options[:filter].gsub(/name eq \.\*/, "")] # Fill the zones Hash with the target_instance (if it's found) zones["zones/#{target_instance['zone'].split('/')[-1]}"]["targetInstances"].concat([target_instance]) if target_instance else # Fill the zones Hash with the target_instances attached to each zone data[:target_instances].values.each { |target_instance| zones["zones/#{target_instance['zone'].split('/')[-1]}"]["targetInstances"].concat([target_instance]) } end build_excon_response("kind" => "compute#targetInstanceAggregatedList", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/aggregated/targetInstances", "id" => "projects/#{@project}/aggregated/targetInstances", "items" => zones) end
list_backend_services()
click to toggle source
# File lib/fog/compute/google/requests/list_backend_services.rb, line 5 def list_backend_services backend_services = data[:backend_services].values build_excon_response("kind" => "compute#backendServiceList", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/backendServices", "id" => "projects/#{@project}/global/backendServices", "items" => backend_services) end
list_disk_types(zone)
click to toggle source
# File lib/fog/compute/google/requests/list_disk_types.rb, line 5 def list_disk_types(zone) build_excon_response("kind" => 'compute#diskTypeList', "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone}/diskTypes", "items" => [ { "kind" => 'compute#diskType', "creationTimestamp" => "2014-06-02T18:07:28.530Z", "name" => "pd-standard", "description" => "Standard Persistent Disk", "validDiskSize" => "10GB-10TB", "zone" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone}", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone}/diskTypes/pd-standard" }, { "kind" => 'compute#diskType', "creationTimestamp" => "2014-06-02T18:07:28.529Z", "name" => "pd-ssd", "description" => "SSD Persistent Disk", "validDiskSize" => "10GB-1TB", "zone" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone}", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone}/diskTypes/pd-ssd" } ]) end
list_disks(zone_name)
click to toggle source
# File lib/fog/compute/google/requests/list_disks.rb, line 5 def list_disks(zone_name) disks = data[:disks].values.select { |d| d["zone"].split("/")[-1] == zone_name } build_excon_response("kind" => "compute#diskList", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone_name}/disks", "id" => "projects/#{@project}/zones/#{zone_name}/disks", "items" => disks) end
list_firewalls()
click to toggle source
# File lib/fog/compute/google/requests/list_firewalls.rb, line 5 def list_firewalls Fog::Mock.not_implemented end
list_forwarding_rules(region_name)
click to toggle source
# File lib/fog/compute/google/requests/list_forwarding_rules.rb, line 5 def list_forwarding_rules(region_name) forwarding_rules = data[:forwarding_rules].values.select { |d| d["region"].split("/")[-1] == region_name } build_excon_response("kind" => "compute#forwardingRuleList", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/#{region_name}/forwardingRules", "id" => "projects/#{@project}/regions/#{region_name}/regions", "items" => forwarding_rules) end
list_global_forwarding_rules(_region_name = "global")
click to toggle source
# File lib/fog/compute/google/requests/list_global_forwarding_rules.rb, line 5 def list_global_forwarding_rules(_region_name = "global") global_forwarding_rules = data[:global_forwarding_rules].values build_excon_response("kind" => "compute#forwardingRuleList", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/forwardingRules", "id" => "projects/#{@project}/global/forwardingRules", "items" => global_forwarding_rules) end
list_global_operations()
click to toggle source
# File lib/fog/compute/google/requests/list_global_operations.rb, line 5 def list_global_operations Fog::Mock.not_implemented end
list_http_health_checks()
click to toggle source
# File lib/fog/compute/google/requests/list_http_health_checks.rb, line 5 def list_http_health_checks health_checks = data[:http_health_checks].values build_excon_response("kind" => "compute#urlMapList", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/httpHealthChecks", "id" => "projects/#{@project}/global/httpHealthChecks", "items" => health_checks) end
list_images(project = @project)
click to toggle source
# File lib/fog/compute/google/requests/list_images.rb, line 5 def list_images(project = @project) images = data(project)[:images].values build_excon_response("kind" => "compute#imageList", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{project}/global/images", "id" => "projects/#{project}/global/images", "items" => images) end
list_instance_group_instances(_group, _zone)
click to toggle source
# File lib/fog/compute/google/requests/list_instance_group_instances.rb, line 5 def list_instance_group_instances(_group, _zone) Fog::Mock.not_implemented end
list_instance_groups(_zone)
click to toggle source
# File lib/fog/compute/google/requests/list_instance_groups.rb, line 5 def list_instance_groups(_zone) Fog::Mock.not_implemented end
list_machine_types(zone_name)
click to toggle source
# File lib/fog/compute/google/requests/list_machine_types.rb, line 5 def list_machine_types(zone_name) get_zone(zone_name) machine_types = data[:machine_types][zone_name].values build_excon_response("kind" => "compute#machineTypeList", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone_name}/machineTypes", "id" => "projects/high-cistern-340/zones/us-central1-a/machineTypes", "items" => machine_types) end
list_networks()
click to toggle source
# File lib/fog/compute/google/requests/list_networks.rb, line 5 def list_networks Fog::Mock.not_implemented end
list_region_operations(_region)
click to toggle source
# File lib/fog/compute/google/requests/list_region_operations.rb, line 5 def list_region_operations(_region) Fog::Mock.not_implemented end
list_region_view_resources(_region_view)
click to toggle source
# File lib/fog/compute/google/requests/list_region_view_resources.rb, line 5 def list_region_view_resources(_region_view) Fog::Mock.not_implemented end
list_region_views(_region_name)
click to toggle source
# File lib/fog/compute/google/requests/list_region_views.rb, line 5 def list_region_views(_region_name) Fog::Mock.not_implemented end
list_regions()
click to toggle source
# File lib/fog/compute/google/requests/list_regions.rb, line 5 def list_regions build_excon_response("kind" => "compute#regionList", "selfLink" => "https://www.googleapis.com/compute/v1/projects/#{@project}/regions", "id" => "projects/#{@project}/regions", "items" => [ { "kind" => "compute#region", "selfLink" => "https://www.googleapis.com/compute/v1/projects/#{@project}/regions/asia-east1", "id" => "2699746309412936080", "creationTimestamp" => "2014-01-28T04:12:16.138-08:00", "name" => "asia-east1", "description" => "asia-east1", "status" => "UP", "zones" => [ "https://www.googleapis.com/compute/v1/projects/#{@project}/zones/asia-east1-a", "https://www.googleapis.com/compute/v1/projects/#{@project}/zones/asia-east1-b" ], "quotas" => [ { "metric" => "CPUS", "limit" => 24.0, "usage" => 0.0 }, { "metric" => "DISKS_TOTAL_GB", "limit" => 5120.0, "usage" => 0.0 }, { "metric" => "STATIC_ADDRESSES", "limit" => 7.0, "usage" => 0.0 }, { "metric" => "IN_USE_ADDRESSES", "limit" => 23.0, "usage" => 0.0 } ] }, { "kind" => "compute#region", "selfLink" => "https://www.googleapis.com/compute/v1/projects/#{@project}/regions/europe-west1", "id" => "10546209748879352030", "creationTimestamp" => "2014-01-14T18:36:29.094-08:00", "name" => "europe-west1", "description" => "europe-west1", "status" => "UP", "zones" => [ "https://www.googleapis.com/compute/v1/projects/#{@project}/zones/europe-west1-a", "https://www.googleapis.com/compute/v1/projects/#{@project}/zones/europe-west1-b" ], "quotas" => [ { "metric" => "CPUS", "limit" => 24.0, "usage" => 0.0 }, { "metric" => "DISKS_TOTAL_GB", "limit" => 5120.0, "usage" => 0.0 }, { "metric" => "STATIC_ADDRESSES", "limit" => 7.0, "usage" => 0.0 }, { "metric" => "IN_USE_ADDRESSES", "limit" => 23.0, "usage" => 0.0 } ] }, { "kind" => "compute#region", "selfLink" => "https://www.googleapis.com/compute/v1/projects/#{@project}/regions/us-central1", "id" => "17971001795365542305", "creationTimestamp" => "2014-01-14T18:36:29.094-08:00", "name" => "us-central1", "description" => "us-central1", "status" => "UP", "zones" => [ "https://www.googleapis.com/compute/v1/projects/#{@project}/zones/us-central1-a", "https://www.googleapis.com/compute/v1/projects/#{@project}/zones/us-central1-b" ], "quotas" => [ { "metric" => "CPUS", "limit" => 24.0, "usage" => 0.0 }, { "metric" => "DISKS_TOTAL_GB", "limit" => 5120.0, "usage" => 0.0 }, { "metric" => "STATIC_ADDRESSES", "limit" => 7.0, "usage" => 0.0 }, { "metric" => "IN_USE_ADDRESSES", "limit" => 23.0, "usage" => 0.0 } ] } ]) end
list_routes(_options = {})
click to toggle source
# File lib/fog/compute/google/requests/list_routes.rb, line 5 def list_routes(_options = {}) Fog::Mock.not_implemented end
list_servers(zone_name)
click to toggle source
# File lib/fog/compute/google/requests/list_servers.rb, line 5 def list_servers(zone_name) get_zone(zone_name) zone = data[:zones][zone_name] servers = data[:servers].values.select { |s| s["zone"] == zone["selfLink"] } build_excon_response("kind" => "compute#instanceList", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone_name}/instances", "id" => "projects/#{@project}/zones/#{zone_name}/instances", "items" => servers) end
list_snapshots()
click to toggle source
# File lib/fog/compute/google/requests/list_snapshots.rb, line 5 def list_snapshots Fog::Mock.not_implemented end
list_subnetworks(region_name)
click to toggle source
# File lib/fog/compute/google/requests/list_subnetworks.rb, line 5 def list_subnetworks(region_name) region_name = region_name.split("/")[-1] if region_name.start_with? "http" subnetworks = data[:subnetworks].values.select { |d| d["region"].split("/")[-1] == region_name } build_excon_response("kind" => "compute#subnetworkList", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/#{region_name}/subnetworks", "id" => "projects/#{@project}/regions/#{region_name}/subnetworks", "items" => subnetworks) end
list_target_http_proxies()
click to toggle source
# File lib/fog/compute/google/requests/list_target_http_proxies.rb, line 5 def list_target_http_proxies proxies = data[:target_http_proxies].values build_excon_response("kind" => "compute#targetHttpProxyList", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/targetHttpProxies", "id" => "projects/#{@project}/global/targetHttpProxies", "items" => proxies) end
list_target_instances(zone_name = "us-central1-a")
click to toggle source
# File lib/fog/compute/google/requests/list_target_instances.rb, line 5 def list_target_instances(zone_name = "us-central1-a") zone = data[:zones][zone_name] target_instances = data[:target_instances].values.select { |s| s["zone"] == zone_name } build_excon_response("kind" => "compute#targetInstanceList", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone_name}/targetInstances", "id" => "projects/#{@project}/zones/#{zone_name}/targetInstances", "items" => target_instances) end
list_target_pools(region_name)
click to toggle source
# File lib/fog/compute/google/requests/list_target_pools.rb, line 5 def list_target_pools(region_name) target_pools = data[:target_pools].values.select { |d| d["region"].split("/")[-1] == region_name } build_excon_response("kind" => "compute#forwardingRuleList", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/#{region_name}/targetPools", "id" => "projects/#{@project}/regions/#{region_name}/regions", "items" => target_pools) end
list_url_maps()
click to toggle source
# File lib/fog/compute/google/requests/list_url_maps.rb, line 5 def list_url_maps url_maps = data[:url_maps].values build_excon_response("kind" => "compute#urlMapList", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/urlMaps", "id" => "projects/#{@project}/global/urlMaps", "items" => url_maps) end
list_zone_operations(_zone)
click to toggle source
# File lib/fog/compute/google/requests/list_zone_operations.rb, line 5 def list_zone_operations(_zone) Fog::Mock.not_implemented end
list_zone_view_resources(_zone_view)
click to toggle source
# File lib/fog/compute/google/requests/list_zone_view_resources.rb, line 5 def list_zone_view_resources(_zone_view) Fog::Mock.not_implemented end
list_zone_views(_zone_name)
click to toggle source
# File lib/fog/compute/google/requests/list_zone_views.rb, line 5 def list_zone_views(_zone_name) Fog::Mock.not_implemented end
list_zones()
click to toggle source
# File lib/fog/compute/google/requests/list_zones.rb, line 5 def list_zones zones = data[:zones].values build_excon_response("kind" => "compute#zoneList", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones", "id" => "projects/#{@project}/zones", "items" => zones) end
random_operation()
click to toggle source
# File lib/fog/compute/google/mock.rb, line 865 def random_operation "operation-#{Fog::Mock.random_numbers(13)}-#{Fog::Mock.random_hex(13)}-#{Fog::Mock.random_hex(8)}" end
remove_instance_group_instance(_group_name, _zone, _instances)
click to toggle source
# File lib/fog/compute/google/requests/remove_instance_group_instance.rb, line 5 def remove_instance_group_instance(_group_name, _zone, _instances) Fog::Mock.not_implemented end
remove_target_pool_health_checks(_target_pool, _health_checks)
click to toggle source
# File lib/fog/compute/google/requests/remove_target_pool_health_checks.rb, line 5 def remove_target_pool_health_checks(_target_pool, _health_checks) Fog::Mock.not_implemented end
remove_target_pool_instances(_target_pool, _instances)
click to toggle source
# File lib/fog/compute/google/requests/remove_target_pool_instances.rb, line 5 def remove_target_pool_instances(_target_pool, _instances) Fog::Mock.not_implemented end
reset_data()
click to toggle source
# File lib/fog/compute/google/mock.rb, line 860 def reset_data # not particularly useful because it deletes zones self.class.data(api_version).delete(@project) end
reset_server(_identity, _zone)
click to toggle source
# File lib/fog/compute/google/requests/reset_server.rb, line 5 def reset_server(_identity, _zone) Fog::Mock.not_implemented end
set_common_instance_metadata(_identity, _current_fingerprint, _metadata = {})
click to toggle source
# File lib/fog/compute/google/requests/set_common_instance_metadata.rb, line 5 def set_common_instance_metadata(_identity, _current_fingerprint, _metadata = {}) Fog::Mock.not_implemented end
set_forwarding_rule_target(_rule, _target)
click to toggle source
# File lib/fog/compute/google/requests/set_forwarding_rule_target.rb, line 5 def set_forwarding_rule_target(_rule, _target) Fog::Mock.not_implemented end
set_global_forwarding_rule_target(_rule, _target)
click to toggle source
# File lib/fog/compute/google/requests/set_global_forwarding_rule_target.rb, line 5 def set_global_forwarding_rule_target(_rule, _target) Fog::Mock.not_implemented end
set_metadata(_instance, _zone, _fingerprint, _metadata = {})
click to toggle source
# File lib/fog/compute/google/requests/remove_target_pool_instance.rb, line 5 def set_metadata(_instance, _zone, _fingerprint, _metadata = {}) Fog::Mock.not_implemented end
set_server_disk_auto_delete(_identity, _zone, _auto_delete, _device_name)
click to toggle source
# File lib/fog/compute/google/requests/set_server_disk_auto_delete.rb, line 5 def set_server_disk_auto_delete(_identity, _zone, _auto_delete, _device_name) Fog::Mock.not_implemented end
set_server_scheduling(_identity, _zone, _on_host_maintenance, _automatic_restart, _preemptible)
click to toggle source
# File lib/fog/compute/google/requests/set_server_scheduling.rb, line 5 def set_server_scheduling(_identity, _zone, _on_host_maintenance, _automatic_restart, _preemptible) Fog::Mock.not_implemented end
set_target_http_proxy_url_map(_target_http_proxy, _url_map)
click to toggle source
# File lib/fog/compute/google/requests/set_target_http_proxy_url_map.rb, line 5 def set_target_http_proxy_url_map(_target_http_proxy, _url_map) Fog::Mock.not_implemented end
start_server(_identity, _zone_name)
click to toggle source
# File lib/fog/compute/google/requests/start_server.rb, line 5 def start_server(_identity, _zone_name) Fog::Mock.not_implemented end
stop_server(_identity, _zone_name)
click to toggle source
# File lib/fog/compute/google/requests/stop_server.rb, line 5 def stop_server(_identity, _zone_name) Fog::Mock.not_implemented end
update_url_map(_url_map, _host_rules)
click to toggle source
# File lib/fog/compute/google/requests/update_url_map.rb, line 5 def update_url_map(_url_map, _host_rules) Fog::Mock.not_implemented end
validate_url_map(_url_map)
click to toggle source
# File lib/fog/compute/google/requests/validate_url_map.rb, line 5 def validate_url_map(_url_map) Fog::Mock.not_implemented end