You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by to...@apache.org on 2013/07/13 01:45:17 UTC

[02/10] Add new driver for Google Compute Engine.

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/global_firewalls_lcfirewall.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/global_firewalls_lcfirewall.json b/libcloud/test/compute/fixtures/gce/global_firewalls_lcfirewall.json
new file mode 100644
index 0000000..fde8474
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/global_firewalls_lcfirewall.json
@@ -0,0 +1,19 @@
+{
+  "allowed": [
+    {
+      "IPProtocol": "tcp",
+      "ports": [
+        "4567"
+      ]
+    }
+  ],
+  "creationTimestamp": "2013-06-26T10:04:43.773-07:00",
+  "id": "0565629596395414121",
+  "kind": "compute#firewall",
+  "name": "lcfirewall",
+  "network": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/networks/default",
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/firewalls/lcfirewall",
+  "sourceTags": [
+    "libcloud"
+  ]
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/global_firewalls_lcfirewall_delete.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/global_firewalls_lcfirewall_delete.json b/libcloud/test/compute/fixtures/gce/global_firewalls_lcfirewall_delete.json
new file mode 100644
index 0000000..75c0ce7
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/global_firewalls_lcfirewall_delete.json
@@ -0,0 +1,14 @@
+{
+  "id": "8983098895755095934",
+  "insertTime": "2013-06-26T10:04:53.453-07:00",
+  "kind": "compute#operation",
+  "name": "operation-global_firewalls_lcfirewall_delete",
+  "operationType": "delete",
+  "progress": 0,
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/operations/operation-global_firewalls_lcfirewall_delete",
+  "startTime": "2013-06-26T10:04:53.508-07:00",
+  "status": "PENDING",
+  "targetId": "0565629596395414121",
+  "targetLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/firewalls/lcfirewall",
+  "user": "897001307951@developer.gserviceaccount.com"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/global_firewalls_lcfirewall_put.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/global_firewalls_lcfirewall_put.json b/libcloud/test/compute/fixtures/gce/global_firewalls_lcfirewall_put.json
new file mode 100644
index 0000000..c075282
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/global_firewalls_lcfirewall_put.json
@@ -0,0 +1,14 @@
+{
+  "id": "6526551968265354277",
+  "insertTime": "2013-06-26T20:52:00.355-07:00",
+  "kind": "compute#operation",
+  "name": "operation-global_firewalls_lcfirewall_put",
+  "operationType": "update",
+  "progress": 0,
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/operations/operation-global_firewalls_lcfirewall_put",
+  "startTime": "2013-06-26T20:52:00.410-07:00",
+  "status": "PENDING",
+  "targetId": "10942695305090163011",
+  "targetLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/firewalls/lcfirewall",
+  "user": "897001307951@developer.gserviceaccount.com"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/global_firewalls_post.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/global_firewalls_post.json b/libcloud/test/compute/fixtures/gce/global_firewalls_post.json
new file mode 100644
index 0000000..84124f3
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/global_firewalls_post.json
@@ -0,0 +1,13 @@
+{
+  "id": "16789512465352307784",
+  "insertTime": "2013-06-26T20:51:06.068-07:00",
+  "kind": "compute#operation",
+  "name": "operation-global_firewalls_post",
+  "operationType": "insert",
+  "progress": 0,
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/operations/operation-global_firewalls_post",
+  "startTime": "2013-06-26T20:51:06.128-07:00",
+  "status": "PENDING",
+  "targetLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/firewalls/lcfirewall",
+  "user": "897001307951@developer.gserviceaccount.com"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/global_images.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/global_images.json b/libcloud/test/compute/fixtures/gce/global_images.json
new file mode 100644
index 0000000..c472dfa
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/global_images.json
@@ -0,0 +1,22 @@
+{
+  "id": "projects/project_name/global/images",
+  "items": [
+    {
+      "creationTimestamp": "2013-06-19T13:47:20.563-07:00",
+      "description": "Local Debian GNU/Linux 7.1 (wheezy) built on 2013-06-17",
+      "id": "1549141992333368759",
+      "kind": "compute#image",
+      "name": "debian-7-wheezy-v20130617",
+      "preferredKernel": "https://www.googleapis.com/compute/v1beta15/projects/google/global/kernels/gce-v20130603",
+      "rawDisk": {
+        "containerType": "TAR",
+        "source": ""
+      },
+      "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/debian-cloud/global/images/debian-7-wheezy-v20130617",
+      "sourceType": "RAW",
+      "status": "READY"
+    }
+  ],
+  "kind": "compute#imageList",
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/images"
+}

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/global_images.json.save
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/global_images.json.save b/libcloud/test/compute/fixtures/gce/global_images.json.save
new file mode 100644
index 0000000..c472dfa
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/global_images.json.save
@@ -0,0 +1,22 @@
+{
+  "id": "projects/project_name/global/images",
+  "items": [
+    {
+      "creationTimestamp": "2013-06-19T13:47:20.563-07:00",
+      "description": "Local Debian GNU/Linux 7.1 (wheezy) built on 2013-06-17",
+      "id": "1549141992333368759",
+      "kind": "compute#image",
+      "name": "debian-7-wheezy-v20130617",
+      "preferredKernel": "https://www.googleapis.com/compute/v1beta15/projects/google/global/kernels/gce-v20130603",
+      "rawDisk": {
+        "containerType": "TAR",
+        "source": ""
+      },
+      "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/debian-cloud/global/images/debian-7-wheezy-v20130617",
+      "sourceType": "RAW",
+      "status": "READY"
+    }
+  ],
+  "kind": "compute#imageList",
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/images"
+}

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/global_networks.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/global_networks.json b/libcloud/test/compute/fixtures/gce/global_networks.json
new file mode 100644
index 0000000..071d1dc
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/global_networks.json
@@ -0,0 +1,34 @@
+{
+  "id": "projects/project_name/global/networks",
+  "items": [
+    {
+      "IPv4Range": "10.240.0.0/16",
+      "creationTimestamp": "2013-06-19T12:37:13.233-07:00",
+      "gatewayIPv4": "10.240.0.1",
+      "id": "08257021638942464470",
+      "kind": "compute#network",
+      "name": "default",
+      "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/networks/default"
+    },
+    {
+      "IPv4Range": "10.10.0.0/16",
+      "creationTimestamp": "2013-06-26T09:51:34.018-07:00",
+      "gatewayIPv4": "10.10.0.1",
+      "id": "13254259054875092094",
+      "kind": "compute#network",
+      "name": "libcloud-demo-europe-network",
+      "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/networks/libcloud-demo-europe-network"
+    },
+    {
+      "IPv4Range": "10.10.0.0/16",
+      "creationTimestamp": "2013-06-26T09:48:15.703-07:00",
+      "gatewayIPv4": "10.10.0.1",
+      "id": "17172579178188075621",
+      "kind": "compute#network",
+      "name": "libcloud-demo-network",
+      "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/networks/libcloud-demo-network"
+    }
+  ],
+  "kind": "compute#networkList",
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/networks"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/global_networks_default.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/global_networks_default.json b/libcloud/test/compute/fixtures/gce/global_networks_default.json
new file mode 100644
index 0000000..a6353e8
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/global_networks_default.json
@@ -0,0 +1,9 @@
+{
+  "IPv4Range": "10.240.0.0/16",
+  "creationTimestamp": "2013-06-19T12:37:13.233-07:00",
+  "gatewayIPv4": "10.240.0.1",
+  "id": "08257021638942464470",
+  "kind": "compute#network",
+  "name": "default",
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/networks/default"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/global_networks_lcnetwork.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/global_networks_lcnetwork.json b/libcloud/test/compute/fixtures/gce/global_networks_lcnetwork.json
new file mode 100644
index 0000000..b615cad
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/global_networks_lcnetwork.json
@@ -0,0 +1,9 @@
+{
+  "IPv4Range": "10.11.0.0/16",
+  "creationTimestamp": "2013-06-26T10:05:03.500-07:00",
+  "gatewayIPv4": "10.11.0.1",
+  "id": "16211908079305042870",
+  "kind": "compute#network",
+  "name": "lcnetwork",
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/networks/lcnetwork"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/global_networks_lcnetwork_delete.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/global_networks_lcnetwork_delete.json b/libcloud/test/compute/fixtures/gce/global_networks_lcnetwork_delete.json
new file mode 100644
index 0000000..cc65f00
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/global_networks_lcnetwork_delete.json
@@ -0,0 +1,14 @@
+{
+  "id": "4914541423567262393",
+  "insertTime": "2013-06-26T10:05:11.102-07:00",
+  "kind": "compute#operation",
+  "name": "operation-global_networks_lcnetwork_delete",
+  "operationType": "delete",
+  "progress": 0,
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/operations/operation-global_networks_lcnetwork_delete",
+  "startTime": "2013-06-26T10:05:11.273-07:00",
+  "status": "PENDING",
+  "targetId": "16211908079305042870",
+  "targetLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/networks/lcnetwork",
+  "user": "897001307951@developer.gserviceaccount.com"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/global_networks_libcloud-demo-europe-network.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/global_networks_libcloud-demo-europe-network.json b/libcloud/test/compute/fixtures/gce/global_networks_libcloud-demo-europe-network.json
new file mode 100644
index 0000000..93915c0
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/global_networks_libcloud-demo-europe-network.json
@@ -0,0 +1,9 @@
+{
+  "IPv4Range": "10.10.0.0/16",
+  "creationTimestamp": "2013-06-26T09:51:34.018-07:00",
+  "gatewayIPv4": "10.10.0.1",
+  "id": "13254259054875092094",
+  "kind": "compute#network",
+  "name": "libcloud-demo-europe-network",
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/networks/libcloud-demo-europe-network"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/global_networks_libcloud-demo-network.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/global_networks_libcloud-demo-network.json b/libcloud/test/compute/fixtures/gce/global_networks_libcloud-demo-network.json
new file mode 100644
index 0000000..55b9be1
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/global_networks_libcloud-demo-network.json
@@ -0,0 +1,9 @@
+{
+  "IPv4Range": "10.10.0.0/16",
+  "creationTimestamp": "2013-06-26T09:48:15.703-07:00",
+  "gatewayIPv4": "10.10.0.1",
+  "id": "17172579178188075621",
+  "kind": "compute#network",
+  "name": "libcloud-demo-network",
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/networks/libcloud-demo-network"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/global_networks_post.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/global_networks_post.json b/libcloud/test/compute/fixtures/gce/global_networks_post.json
new file mode 100644
index 0000000..72fca77
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/global_networks_post.json
@@ -0,0 +1,13 @@
+{
+  "id": "3681664092089171723",
+  "insertTime": "2013-06-26T10:05:03.271-07:00",
+  "kind": "compute#operation",
+  "name": "operation-global_networks_post",
+  "operationType": "insert",
+  "progress": 0,
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/operations/operation-global_networks_post",
+  "startTime": "2013-06-26T10:05:03.315-07:00",
+  "status": "PENDING",
+  "targetLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/networks/lcnetwork",
+  "user": "897001307951@developer.gserviceaccount.com"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/operations_operation_global_firewalls_lcfirewall_delete.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/operations_operation_global_firewalls_lcfirewall_delete.json b/libcloud/test/compute/fixtures/gce/operations_operation_global_firewalls_lcfirewall_delete.json
new file mode 100644
index 0000000..56c6db6
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/operations_operation_global_firewalls_lcfirewall_delete.json
@@ -0,0 +1,15 @@
+{
+  "endTime": "2013-06-26T10:05:00.978-07:00",
+  "id": "8983098895755095934",
+  "insertTime": "2013-06-26T10:04:53.453-07:00",
+  "kind": "compute#operation",
+  "name": "operation-global_firewalls_lcfirewall_delete",
+  "operationType": "delete",
+  "progress": 100,
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/operations/operation-global_firewalls_lcfirewall_delete",
+  "startTime": "2013-06-26T10:04:53.508-07:00",
+  "status": "DONE",
+  "targetId": "0565629596395414121",
+  "targetLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/firewalls/lcfirewall",
+  "user": "897001307951@developer.gserviceaccount.com"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/operations_operation_global_firewalls_lcfirewall_put.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/operations_operation_global_firewalls_lcfirewall_put.json b/libcloud/test/compute/fixtures/gce/operations_operation_global_firewalls_lcfirewall_put.json
new file mode 100644
index 0000000..e50185c
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/operations_operation_global_firewalls_lcfirewall_put.json
@@ -0,0 +1,15 @@
+{
+  "endTime": "2013-06-26T20:52:10.075-07:00",
+  "id": "6526551968265354277",
+  "insertTime": "2013-06-26T20:52:00.355-07:00",
+  "kind": "compute#operation",
+  "name": "operation-global_firewalls_lcfirewall_put",
+  "operationType": "update",
+  "progress": 100,
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/operations/operation-global_firewalls_lcfirewall_put",
+  "startTime": "2013-06-26T20:52:00.410-07:00",
+  "status": "DONE",
+  "targetId": "10942695305090163011",
+  "targetLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/firewalls/lcfirewall",
+  "user": "897001307951@developer.gserviceaccount.com"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/operations_operation_global_firewalls_post.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/operations_operation_global_firewalls_post.json b/libcloud/test/compute/fixtures/gce/operations_operation_global_firewalls_post.json
new file mode 100644
index 0000000..57623d9
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/operations_operation_global_firewalls_post.json
@@ -0,0 +1,15 @@
+{
+  "endTime": "2013-06-26T20:51:12.108-07:00",
+  "id": "16789512465352307784",
+  "insertTime": "2013-06-26T20:51:06.068-07:00",
+  "kind": "compute#operation",
+  "name": "operation-global_firewalls_post",
+  "operationType": "insert",
+  "progress": 100,
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/operations/operation-global_firewalls_post",
+  "startTime": "2013-06-26T20:51:06.128-07:00",
+  "status": "DONE",
+  "targetId": "10942695305090163011",
+  "targetLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/firewalls/lcfirewall",
+  "user": "897001307951@developer.gserviceaccount.com"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/operations_operation_global_networks_lcnetwork_delete.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/operations_operation_global_networks_lcnetwork_delete.json b/libcloud/test/compute/fixtures/gce/operations_operation_global_networks_lcnetwork_delete.json
new file mode 100644
index 0000000..a5e75cf
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/operations_operation_global_networks_lcnetwork_delete.json
@@ -0,0 +1,15 @@
+{
+  "endTime": "2013-06-26T10:05:12.607-07:00",
+  "id": "4914541423567262393",
+  "insertTime": "2013-06-26T10:05:11.102-07:00",
+  "kind": "compute#operation",
+  "name": "operation-global_networks_lcnetwork_delete",
+  "operationType": "delete",
+  "progress": 100,
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/operations/operation-global_networks_lcnetwork_delete",
+  "startTime": "2013-06-26T10:05:11.273-07:00",
+  "status": "DONE",
+  "targetId": "16211908079305042870",
+  "targetLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/networks/lcnetwork",
+  "user": "897001307951@developer.gserviceaccount.com"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/operations_operation_global_networks_post.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/operations_operation_global_networks_post.json b/libcloud/test/compute/fixtures/gce/operations_operation_global_networks_post.json
new file mode 100644
index 0000000..d0a989e
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/operations_operation_global_networks_post.json
@@ -0,0 +1,15 @@
+{
+  "endTime": "2013-06-26T10:05:07.630-07:00",
+  "id": "3681664092089171723",
+  "insertTime": "2013-06-26T10:05:03.271-07:00",
+  "kind": "compute#operation",
+  "name": "operation-global_networks_post",
+  "operationType": "insert",
+  "progress": 100,
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/operations/operation-global_networks_post",
+  "startTime": "2013-06-26T10:05:03.315-07:00",
+  "status": "DONE",
+  "targetId": "16211908079305042870",
+  "targetLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/networks/lcnetwork",
+  "user": "897001307951@developer.gserviceaccount.com"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/operations_operation_regions_us-central1_addresses_lcaddress_delete.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/operations_operation_regions_us-central1_addresses_lcaddress_delete.json b/libcloud/test/compute/fixtures/gce/operations_operation_regions_us-central1_addresses_lcaddress_delete.json
new file mode 100644
index 0000000..a138e5c
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/operations_operation_regions_us-central1_addresses_lcaddress_delete.json
@@ -0,0 +1,15 @@
+{
+  "id": "7128783508312083402",
+  "insertTime": "2013-06-26T12:21:44.075-07:00",
+  "kind": "compute#operation",
+  "name": "operation-regions_us-central1_addresses_lcaddress_delete",
+  "operationType": "delete",
+  "progress": 100,
+  "region": "https://www.googleapis.com/compute/v1beta15/projects/project_name/regions/us-central1",
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/regions/us-central1/operations/operation-regions_us-central1_addresses_lcaddress_delete",
+  "startTime": "2013-06-26T12:21:44.110-07:00",
+  "status": "DONE",
+  "targetId": "01531551729918243104",
+  "targetLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/regions/us-central1/addresses/lcaddress",
+  "user": "897001307951@developer.gserviceaccount.com"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/operations_operation_regions_us-central1_addresses_post.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/operations_operation_regions_us-central1_addresses_post.json b/libcloud/test/compute/fixtures/gce/operations_operation_regions_us-central1_addresses_post.json
new file mode 100644
index 0000000..baf5d57
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/operations_operation_regions_us-central1_addresses_post.json
@@ -0,0 +1,15 @@
+{
+  "id": "16064059851942653139",
+  "insertTime": "2013-06-26T12:21:40.299-07:00",
+  "kind": "compute#operation",
+  "name": "operation-regions_us-central1_addresses_post",
+  "operationType": "insert",
+  "progress": 100,
+  "region": "https://www.googleapis.com/compute/v1beta15/projects/project_name/regions/us-central1",
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/regions/us-central1/operations/operation-regions_us-central1_addresses_post",
+  "startTime": "2013-06-26T12:21:40.358-07:00",
+  "status": "DONE",
+  "targetId": "01531551729918243104",
+  "targetLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/regions/us-central1/addresses/lcaddress",
+  "user": "897001307951@developer.gserviceaccount.com"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/operations_operation_zones_europe-west1-a_instances_post.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/operations_operation_zones_europe-west1-a_instances_post.json b/libcloud/test/compute/fixtures/gce/operations_operation_zones_europe-west1-a_instances_post.json
new file mode 100644
index 0000000..96ffebc
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/operations_operation_zones_europe-west1-a_instances_post.json
@@ -0,0 +1,25 @@
+{
+  "error": {
+    "errors": [
+      {
+        "code": "RESOURCE_ALREADY_EXISTS",
+        "message": "The resource 'projects/project_name/zones/europe-west1-a/instances/libcloud-demo-europe-np-node' already exists"
+      }
+    ]
+  },
+  "httpErrorMessage": "CONFLICT",
+  "httpErrorStatusCode": 409,
+  "id": "1510575454210533141",
+  "insertTime": "2013-06-26T20:57:34.366-07:00",
+  "kind": "compute#operation",
+  "name": "operation-zones_europe-west1-a_instances_post",
+  "operationType": "insert",
+  "progress": 100,
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/europe-west1-a/operations/operation-zones_europe-west1-a_instances_post",
+  "startTime": "2013-06-26T20:57:34.453-07:00",
+  "status": "DONE",
+  "targetId": "14308265828754333159",
+  "targetLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/europe-west1-a/instances/libcloud-demo-europe-np-node",
+  "user": "897001307951@developer.gserviceaccount.com",
+  "zone": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/europe-west1-a"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_disks_lcdisk_delete.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_disks_lcdisk_delete.json b/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_disks_lcdisk_delete.json
new file mode 100644
index 0000000..e71f2a3
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_disks_lcdisk_delete.json
@@ -0,0 +1,15 @@
+{
+  "id": "06887337364510109333",
+  "insertTime": "2013-06-26T10:06:11.835-07:00",
+  "kind": "compute#operation",
+  "name": "operation-zones_us-central1-a_disks_lcdisk_delete",
+  "operationType": "delete",
+  "progress": 100,
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/operations/operation-zones_us-central1-a_disks_lcdisk_delete",
+  "startTime": "2013-06-26T10:06:12.006-07:00",
+  "status": "DONE",
+  "targetId": "16109451798967042451",
+  "targetLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/disks/lcdisk",
+  "user": "897001307951@developer.gserviceaccount.com",
+  "zone": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_disks_post.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_disks_post.json b/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_disks_post.json
new file mode 100644
index 0000000..122a7a8
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_disks_post.json
@@ -0,0 +1,16 @@
+{
+  "endTime": "2013-06-26T16:48:25.375-07:00",
+  "id": "0211151278250678078",
+  "insertTime": "2013-06-26T16:48:17.403-07:00",
+  "kind": "compute#operation",
+  "name": "operation-zones_us-central1-a_disks_post",
+  "operationType": "insert",
+  "progress": 100,
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/operations/operation-zones_us-central1-a_disks_post",
+  "startTime": "2013-06-26T16:48:17.479-07:00",
+  "status": "DONE",
+  "targetId": "03196637868764498730",
+  "targetLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/disks/lcdisk",
+  "user": "897001307951@developer.gserviceaccount.com",
+  "zone": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_instances_lcnode-000_delete.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_instances_lcnode-000_delete.json b/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_instances_lcnode-000_delete.json
new file mode 100644
index 0000000..524fe81
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_instances_lcnode-000_delete.json
@@ -0,0 +1,16 @@
+{
+  "endTime": "2013-06-26T16:13:36.800-07:00",
+  "id": "3319596145594427549",
+  "insertTime": "2013-06-26T16:13:12.903-07:00",
+  "kind": "compute#operation",
+  "name": "operation-zones_us-central1-a_instances_lcnode-000_delete",
+  "operationType": "delete",
+  "progress": 100,
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/operations/operation-zones_us-central1-a_instances_lcnode-000_delete",
+  "startTime": "2013-06-26T16:13:12.948-07:00",
+  "status": "DONE",
+  "targetId": "5390075309006132922",
+  "targetLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/instances/lcnode-000",
+  "user": "897001307951@developer.gserviceaccount.com",
+  "zone": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_instances_lcnode-001_delete.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_instances_lcnode-001_delete.json b/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_instances_lcnode-001_delete.json
new file mode 100644
index 0000000..369e9d2
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_instances_lcnode-001_delete.json
@@ -0,0 +1,16 @@
+{
+  "endTime": "2013-06-26T16:13:56.931-07:00",
+  "id": "17469711273432628502",
+  "insertTime": "2013-06-26T16:13:40.579-07:00",
+  "kind": "compute#operation",
+  "name": "operation-zones_us-central1-a_instances_lcnode-001_delete",
+  "operationType": "delete",
+  "progress": 100,
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/operations/operation-zones_us-central1-a_instances_lcnode-001_delete",
+  "startTime": "2013-06-26T16:13:40.620-07:00",
+  "status": "DONE",
+  "targetId": "16630486471904253898",
+  "targetLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/instances/lcnode-001",
+  "user": "897001307951@developer.gserviceaccount.com",
+  "zone": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_instances_node-name_attachDisk_post.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_instances_node-name_attachDisk_post.json b/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_instances_node-name_attachDisk_post.json
new file mode 100644
index 0000000..1563c39
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_instances_node-name_attachDisk_post.json
@@ -0,0 +1,16 @@
+{
+  "endTime": "2013-06-26T16:48:31.831-07:00",
+  "id": "7455886659787654716",
+  "insertTime": "2013-06-26T16:48:27.691-07:00",
+  "kind": "compute#operation",
+  "name": "operation-zones_us-central1-a_instances_node-name_attachDisk_post",
+  "operationType": "attachDisk",
+  "progress": 100,
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/operations/operation-zones_us-central1-a_instances_node-name_attachDisk_post",
+  "startTime": "2013-06-26T16:48:27.762-07:00",
+  "status": "DONE",
+  "targetId": "1845312225624811608",
+  "targetLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/instances/node-name",
+  "user": "897001307951@developer.gserviceaccount.com",
+  "zone": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_instances_node-name_delete.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_instances_node-name_delete.json b/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_instances_node-name_delete.json
new file mode 100644
index 0000000..8e728e7
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_instances_node-name_delete.json
@@ -0,0 +1,16 @@
+{
+  "endTime": "2013-06-26T10:06:00.917-07:00",
+  "id": "6999931397447918763",
+  "insertTime": "2013-06-26T10:05:40.350-07:00",
+  "kind": "compute#operation",
+  "name": "operation-zones_us-central1-a_instances_node-name_delete",
+  "operationType": "delete",
+  "progress": 100,
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/operations/operation-zones_us-central1-a_instances_node-name_delete",
+  "startTime": "2013-06-26T10:05:40.405-07:00",
+  "status": "DONE",
+  "targetId": "07410051435384876224",
+  "targetLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/instances/node-name",
+  "user": "897001307951@developer.gserviceaccount.com",
+  "zone": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_instances_node-name_detachDisk_post.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_instances_node-name_detachDisk_post.json b/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_instances_node-name_detachDisk_post.json
new file mode 100644
index 0000000..fdf2a75
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_instances_node-name_detachDisk_post.json
@@ -0,0 +1,16 @@
+{
+  "endTime": "2013-06-26T16:48:41.278-07:00",
+  "id": "3921383727105838816",
+  "insertTime": "2013-06-26T16:48:35.357-07:00",
+  "kind": "compute#operation",
+  "name": "operation-zones_us-central1-a_instances_node-name_detachDisk_post",
+  "operationType": "detachDisk",
+  "progress": 100,
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/operations/operation-zones_us-central1-a_instances_node-name_detachDisk_post",
+  "startTime": "2013-06-26T16:48:35.398-07:00",
+  "status": "DONE",
+  "targetId": "1845312225624811608",
+  "targetLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/instances/node-name",
+  "user": "897001307951@developer.gserviceaccount.com",
+  "zone": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_instances_node-name_reset_post.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_instances_node-name_reset_post.json b/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_instances_node-name_reset_post.json
new file mode 100644
index 0000000..28d87ef
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_instances_node-name_reset_post.json
@@ -0,0 +1,15 @@
+{
+  "id": "10507122129283663728",
+  "insertTime": "2013-06-26T15:03:02.766-07:00",
+  "kind": "compute#operation",
+  "name": "operation-zones_us-central1-a_instances_node-name_reset_post",
+  "operationType": "reset",
+  "progress": 100,
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/operations/operation-zones_us-central1-a_instances_node-name_reset_post",
+  "startTime": "2013-06-26T15:03:02.813-07:00",
+  "status": "DONE",
+  "targetId": "1845312225624811608",
+  "targetLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/instances/node-name",
+  "user": "897001307951@developer.gserviceaccount.com",
+  "zone": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_instances_node-name_setTags_post.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_instances_node-name_setTags_post.json b/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_instances_node-name_setTags_post.json
new file mode 100644
index 0000000..14c26f1
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_instances_node-name_setTags_post.json
@@ -0,0 +1,16 @@
+{
+  "endTime": "2013-06-26T21:20:10.487-07:00",
+  "id": "8115150846190320932",
+  "insertTime": "2013-06-26T21:20:03.962-07:00",
+  "kind": "compute#operation",
+  "name": "operation-zones_us-central1-a_instances_node-name_setTags_post",
+  "operationType": "setTags",
+  "progress": 100,
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/operations/operation-zones_us-central1-a_instances_node-name_setTags_post",
+  "startTime": "2013-06-26T21:20:04.103-07:00",
+  "status": "DONE",
+  "targetId": "1845312225624811608",
+  "targetLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/instances/node-name",
+  "user": "897001307951@developer.gserviceaccount.com",
+  "zone": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_instances_post.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_instances_post.json b/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_instances_post.json
new file mode 100644
index 0000000..ab62f88
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/operations_operation_zones_us-central1-a_instances_post.json
@@ -0,0 +1,16 @@
+{
+  "endTime": "2013-06-26T16:13:08.382-07:00",
+  "id": "1858155812259649243",
+  "insertTime": "2013-06-26T16:12:51.492-07:00",
+  "kind": "compute#operation",
+  "name": "operation-zones_us-central1-a_instances_post",
+  "operationType": "insert",
+  "progress": 100,
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/operations/operation-zones_us-central1-a_instances_post",
+  "startTime": "2013-06-26T16:12:51.537-07:00",
+  "status": "DONE",
+  "targetId": "16630486471904253898",
+  "targetLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/instances/lcnode-001",
+  "user": "897001307951@developer.gserviceaccount.com",
+  "zone": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/project.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/project.json b/libcloud/test/compute/fixtures/gce/project.json
new file mode 100644
index 0000000..b8b746c
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/project.json
@@ -0,0 +1,74 @@
+{
+  "commonInstanceMetadata": {
+    "items": [
+      {
+        "key": "sshKeys",
+        "value": "ASDFASDF"
+      }
+    ],
+    "kind": "compute#metadata"
+  },
+  "creationTimestamp": "2013-02-05T16:19:20.516-08:00",
+  "description": "",
+  "id": "2193465259114366848",
+  "kind": "compute#project",
+  "name": "project_name",
+  "quotas": [
+    {
+      "limit": 8.0,
+      "metric": "INSTANCES",
+      "usage": 7.0
+    },
+    {
+      "limit": 8.0,
+      "metric": "CPUS",
+      "usage": 7.0
+    },
+    {
+      "limit": 8.0,
+      "metric": "EPHEMERAL_ADDRESSES",
+      "usage": 7.0
+    },
+    {
+      "limit": 8.0,
+      "metric": "DISKS",
+      "usage": 3.0
+    },
+    {
+      "limit": 1024.0,
+      "metric": "DISKS_TOTAL_GB",
+      "usage": 30.0
+    },
+    {
+      "limit": 1000.0,
+      "metric": "SNAPSHOTS",
+      "usage": 0.0
+    },
+    {
+      "limit": 5.0,
+      "metric": "NETWORKS",
+      "usage": 3.0
+    },
+    {
+      "limit": 100.0,
+      "metric": "FIREWALLS",
+      "usage": 4.0
+    },
+    {
+      "limit": 100.0,
+      "metric": "IMAGES",
+      "usage": 0.0
+    },
+    {
+      "limit": 7.0,
+      "metric": "STATIC_ADDRESSES",
+      "usage": 3.0
+    },
+    {
+      "limit": 100.0,
+      "metric": "ROUTES",
+      "usage": 6.0
+    }
+  ],
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/projects_debian-cloud_global_images.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/projects_debian-cloud_global_images.json b/libcloud/test/compute/fixtures/gce/projects_debian-cloud_global_images.json
new file mode 100644
index 0000000..461b0c9
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/projects_debian-cloud_global_images.json
@@ -0,0 +1,157 @@
+{
+  "id": "projects/debian-cloud/global/images",
+  "items": [
+    {
+      "creationTimestamp": "2013-05-07T17:09:22.111-07:00",
+      "description": "Debian GNU/Linux 6.0.7 (squeeze) built on 2013-05-07",
+      "id": "647943287916432906",
+      "kind": "compute#image",
+      "name": "debian-6-squeeze-v20130507",
+      "preferredKernel": "https://www.googleapis.com/compute/v1beta15/projects/google/global/kernels/gce-v20130225",
+      "rawDisk": {
+        "containerType": "TAR",
+        "source": ""
+      },
+      "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/debian-cloud/global/images/debian-6-squeeze-v20130507",
+      "sourceType": "RAW",
+      "status": "READY"
+    },
+    {
+      "creationTimestamp": "2013-05-09T12:56:21.720-07:00",
+      "description": "Debian GNU/Linux 6.0.7 (squeeze) built on 2013-05-09",
+      "id": "15745758816845911589",
+      "kind": "compute#image",
+      "name": "debian-6-squeeze-v20130509",
+      "preferredKernel": "https://www.googleapis.com/compute/v1beta15/projects/google/global/kernels/gce-v20130225",
+      "rawDisk": {
+        "containerType": "TAR",
+        "source": ""
+      },
+      "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/debian-cloud/global/images/debian-6-squeeze-v20130509",
+      "sourceType": "RAW",
+      "status": "READY"
+    },
+    {
+      "creationTimestamp": "2013-05-14T21:01:12.124-07:00",
+      "description": "Debian GNU/Linux 6.0.7 (squeeze) built on 2013-05-15",
+      "id": "006866479348046290",
+      "kind": "compute#image",
+      "name": "debian-6-squeeze-v20130515",
+      "preferredKernel": "https://www.googleapis.com/compute/v1beta15/projects/google/global/kernels/gce-v20130515",
+      "rawDisk": {
+        "containerType": "TAR",
+        "source": ""
+      },
+      "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/debian-cloud/global/images/debian-6-squeeze-v20130515",
+      "sourceType": "RAW",
+      "status": "READY"
+    },
+    {
+      "creationTimestamp": "2013-05-30T09:48:37.837-07:00",
+      "description": "Debian GNU/Linux 6.0.7 (squeeze) built on 2013-05-22",
+      "id": "1266148899538866390",
+      "kind": "compute#image",
+      "name": "debian-6-squeeze-v20130522",
+      "preferredKernel": "https://www.googleapis.com/compute/v1beta15/projects/google/global/kernels/gce-v20130522",
+      "rawDisk": {
+        "containerType": "TAR",
+        "source": ""
+      },
+      "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/debian-cloud/global/images/debian-6-squeeze-v20130522",
+      "sourceType": "RAW",
+      "status": "READY"
+    },
+    {
+      "creationTimestamp": "2013-06-19T13:45:44.111-07:00",
+      "description": "Debian GNU/Linux 6.0.7 (squeeze) built on 2013-06-17",
+      "id": "04009358257173422091",
+      "kind": "compute#image",
+      "name": "debian-6-squeeze-v20130617",
+      "preferredKernel": "https://www.googleapis.com/compute/v1beta15/projects/google/global/kernels/gce-v20130603",
+      "rawDisk": {
+        "containerType": "TAR",
+        "source": ""
+      },
+      "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/debian-cloud/global/images/debian-6-squeeze-v20130617",
+      "sourceType": "RAW",
+      "status": "READY"
+    },
+    {
+      "creationTimestamp": "2013-05-07T17:01:30.071-07:00",
+      "description": "Debian GNU/Linux 7.0 (wheezy) built on 2013-05-07",
+      "id": "15638477823580670459",
+      "kind": "compute#image",
+      "name": "debian-7-wheezy-v20130507",
+      "preferredKernel": "https://www.googleapis.com/compute/v1beta15/projects/google/global/kernels/gce-v20130225",
+      "rawDisk": {
+        "containerType": "TAR",
+        "source": ""
+      },
+      "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/debian-cloud/global/images/debian-7-wheezy-v20130507",
+      "sourceType": "RAW",
+      "status": "READY"
+    },
+    {
+      "creationTimestamp": "2013-05-09T12:56:47.910-07:00",
+      "description": "Debian GNU/Linux 7.0 (wheezy) built on 2013-05-09",
+      "id": "020034532765408091",
+      "kind": "compute#image",
+      "name": "debian-7-wheezy-v20130509",
+      "preferredKernel": "https://www.googleapis.com/compute/v1beta15/projects/google/global/kernels/gce-v20130225",
+      "rawDisk": {
+        "containerType": "TAR",
+        "source": ""
+      },
+      "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/debian-cloud/global/images/debian-7-wheezy-v20130509",
+      "sourceType": "RAW",
+      "status": "READY"
+    },
+    {
+      "creationTimestamp": "2013-05-14T21:02:55.044-07:00",
+      "description": "Debian GNU/Linux 7.0 (wheezy) built on 2013-05-15",
+      "id": "0587071888358410836",
+      "kind": "compute#image",
+      "name": "debian-7-wheezy-v20130515",
+      "preferredKernel": "https://www.googleapis.com/compute/v1beta15/projects/google/global/kernels/gce-v20130515",
+      "rawDisk": {
+        "containerType": "TAR",
+        "source": ""
+      },
+      "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/debian-cloud/global/images/debian-7-wheezy-v20130515",
+      "sourceType": "RAW",
+      "status": "READY"
+    },
+    {
+      "creationTimestamp": "2013-05-30T09:47:30.980-07:00",
+      "description": "Debian GNU/Linux 7.0 (wheezy) built on 2013-05-22",
+      "id": "622079684385221180",
+      "kind": "compute#image",
+      "name": "debian-7-wheezy-v20130522",
+      "preferredKernel": "https://www.googleapis.com/compute/v1beta15/projects/google/global/kernels/gce-v20130522",
+      "rawDisk": {
+        "containerType": "TAR",
+        "source": ""
+      },
+      "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/debian-cloud/global/images/debian-7-wheezy-v20130522",
+      "sourceType": "RAW",
+      "status": "READY"
+    },
+    {
+      "creationTimestamp": "2013-06-19T13:47:20.563-07:00",
+      "description": "Debian GNU/Linux 7.1 (wheezy) built on 2013-06-17",
+      "id": "1549141992333368759",
+      "kind": "compute#image",
+      "name": "debian-7-wheezy-v20130617",
+      "preferredKernel": "https://www.googleapis.com/compute/v1beta15/projects/google/global/kernels/gce-v20130603",
+      "rawDisk": {
+        "containerType": "TAR",
+        "source": ""
+      },
+      "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/debian-cloud/global/images/debian-7-wheezy-v20130617",
+      "sourceType": "RAW",
+      "status": "READY"
+    }
+  ],
+  "kind": "compute#imageList",
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/debian-cloud/global/images"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/regions_us-central1_addresses.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/regions_us-central1_addresses.json b/libcloud/test/compute/fixtures/gce/regions_us-central1_addresses.json
new file mode 100644
index 0000000..a75d633
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/regions_us-central1_addresses.json
@@ -0,0 +1,29 @@
+{
+  "id": "projects/project_name/regions/us-central1/addresses",
+  "items": [
+    {
+      "address": "108.59.82.4",
+      "creationTimestamp": "2013-06-26T09:48:31.184-07:00",
+      "description": "",
+      "id": "17634862894218443422",
+      "kind": "compute#address",
+      "name": "libcloud-demo-address",
+      "region": "https://www.googleapis.com/compute/v1beta15/projects/project_name/regions/us-central1",
+      "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/regions/us-central1/addresses/libcloud-demo-address",
+      "status": "RESERVED"
+    },
+    {
+      "address": "173.255.114.104",
+      "creationTimestamp": "2013-06-04T16:28:43.764-07:00",
+      "description": "",
+      "id": "11879548153827627972",
+      "kind": "compute#address",
+      "name": "testaddress",
+      "region": "https://www.googleapis.com/compute/v1beta15/projects/project_name/regions/us-central1",
+      "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/regions/us-central1/addresses/testaddress",
+      "status": "RESERVED"
+    }
+  ],
+  "kind": "compute#addressList",
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/regions/us-central1/addresses"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/regions_us-central1_addresses_lcaddress.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/regions_us-central1_addresses_lcaddress.json b/libcloud/test/compute/fixtures/gce/regions_us-central1_addresses_lcaddress.json
new file mode 100644
index 0000000..5d2838e
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/regions_us-central1_addresses_lcaddress.json
@@ -0,0 +1,11 @@
+{
+  "address": "173.255.113.20",
+  "creationTimestamp": "2013-06-26T12:21:40.625-07:00",
+  "description": "",
+  "id": "01531551729918243104",
+  "kind": "compute#address",
+  "name": "lcaddress",
+  "region": "https://www.googleapis.com/compute/v1beta15/projects/project_name/regions/us-central1",
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/regions/us-central1/addresses/lcaddress",
+  "status": "RESERVED"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/regions_us-central1_addresses_lcaddress_delete.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/regions_us-central1_addresses_lcaddress_delete.json b/libcloud/test/compute/fixtures/gce/regions_us-central1_addresses_lcaddress_delete.json
new file mode 100644
index 0000000..afa4508
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/regions_us-central1_addresses_lcaddress_delete.json
@@ -0,0 +1,15 @@
+{
+  "id": "7128783508312083402",
+  "insertTime": "2013-06-26T12:21:44.075-07:00",
+  "kind": "compute#operation",
+  "name": "operation-regions_us-central1_addresses_lcaddress_delete",
+  "operationType": "delete",
+  "progress": 0,
+  "region": "https://www.googleapis.com/compute/v1beta15/projects/project_name/regions/us-central1",
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/regions/us-central1/operations/operation-regions_us-central1_addresses_lcaddress_delete",
+  "startTime": "2013-06-26T12:21:44.110-07:00",
+  "status": "PENDING",
+  "targetId": "01531551729918243104",
+  "targetLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/regions/us-central1/addresses/lcaddress",
+  "user": "897001307951@developer.gserviceaccount.com"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/regions_us-central1_addresses_post.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/regions_us-central1_addresses_post.json b/libcloud/test/compute/fixtures/gce/regions_us-central1_addresses_post.json
new file mode 100644
index 0000000..1242c94
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/regions_us-central1_addresses_post.json
@@ -0,0 +1,14 @@
+{
+  "id": "16064059851942653139",
+  "insertTime": "2013-06-26T12:21:40.299-07:00",
+  "kind": "compute#operation",
+  "name": "operation-regions_us-central1_addresses_post",
+  "operationType": "insert",
+  "progress": 0,
+  "region": "https://www.googleapis.com/compute/v1beta15/projects/project_name/regions/us-central1",
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/regions/us-central1/operations/operation-regions_us-central1_addresses_post",
+  "startTime": "2013-06-26T12:21:40.358-07:00",
+  "status": "PENDING",
+  "targetLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/regions/us-central1/addresses/lcaddress",
+  "user": "897001307951@developer.gserviceaccount.com"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/zones.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/zones.json b/libcloud/test/compute/fixtures/gce/zones.json
new file mode 100644
index 0000000..2c45d56
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/zones.json
@@ -0,0 +1,207 @@
+{
+  "id": "projects/project_name/zones",
+  "items": [
+    {
+      "creationTimestamp": "2013-02-05T16:19:23.254-08:00",
+      "description": "europe-west1-a",
+      "id": "13416642339679437530",
+      "kind": "compute#zone",
+      "maintenanceWindows": [
+        {
+          "beginTime": "2013-08-03T12:00:00.000-07:00",
+          "description": "maintenance zone",
+          "endTime": "2013-08-18T12:00:00.000-07:00",
+          "name": "2013-08-03-planned-outage"
+        }
+      ],
+      "name": "europe-west1-a",
+      "quotas": [
+        {
+          "limit": 8.0,
+          "metric": "INSTANCES",
+          "usage": 3.0
+        },
+        {
+          "limit": 8.0,
+          "metric": "CPUS",
+          "usage": 3.0
+        },
+        {
+          "limit": 8.0,
+          "metric": "DISKS",
+          "usage": 1.0
+        },
+        {
+          "limit": 1024.0,
+          "metric": "DISKS_TOTAL_GB",
+          "usage": 10.0
+        }
+      ],
+      "region": "https://www.googleapis.com/compute/v1beta15/projects/project_name/regions/europe-west1",
+      "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/europe-west1-a",
+      "status": "UP"
+    },
+    {
+      "creationTimestamp": "2013-02-05T16:19:23.254-08:00",
+      "description": "europe-west1-b",
+      "id": "20623650177407096",
+      "kind": "compute#zone",
+      "maintenanceWindows": [
+        {
+          "beginTime": "2013-09-28T12:00:00.000-07:00",
+          "description": "maintenance zone",
+          "endTime": "2013-10-13T12:00:00.000-07:00",
+          "name": "2013-09-28-planned-outage"
+        }
+      ],
+      "name": "europe-west1-b",
+      "quotas": [
+        {
+          "limit": 8.0,
+          "metric": "INSTANCES",
+          "usage": 0.0
+        },
+        {
+          "limit": 8.0,
+          "metric": "CPUS",
+          "usage": 0.0
+        },
+        {
+          "limit": 8.0,
+          "metric": "DISKS",
+          "usage": 0.0
+        },
+        {
+          "limit": 1024.0,
+          "metric": "DISKS_TOTAL_GB",
+          "usage": 0.0
+        }
+      ],
+      "region": "https://www.googleapis.com/compute/v1beta15/projects/project_name/regions/europe-west1",
+      "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/europe-west1-b",
+      "status": "UP"
+    },
+    {
+      "creationTimestamp": "2013-02-05T16:19:23.269-08:00",
+      "description": "us-central1-a",
+      "id": "13462829244527433283",
+      "kind": "compute#zone",
+      "maintenanceWindows": [
+        {
+          "beginTime": "2013-08-17T12:00:00.000-07:00",
+          "description": "maintenance zone",
+          "endTime": "2013-09-01T12:00:00.000-07:00",
+          "name": "2013-08-17-planned-outage"
+        }
+      ],
+      "name": "us-central1-a",
+      "quotas": [
+        {
+          "limit": 8.0,
+          "metric": "INSTANCES",
+          "usage": 4.0
+        },
+        {
+          "limit": 8.0,
+          "metric": "CPUS",
+          "usage": 4.0
+        },
+        {
+          "limit": 8.0,
+          "metric": "DISKS",
+          "usage": 2.0
+        },
+        {
+          "limit": 1024.0,
+          "metric": "DISKS_TOTAL_GB",
+          "usage": 20.0
+        }
+      ],
+      "region": "https://www.googleapis.com/compute/v1beta15/projects/project_name/regions/us-central1",
+      "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a",
+      "status": "UP"
+    },
+    {
+      "creationTimestamp": "2013-02-05T16:19:23.269-08:00",
+      "description": "us-central1-b",
+      "id": "1045862591201432620",
+      "kind": "compute#zone",
+      "maintenanceWindows": [
+        {
+          "beginTime": "2013-10-26T12:00:00.000-07:00",
+          "description": "maintenance zone",
+          "endTime": "2013-11-10T12:00:00.000-08:00",
+          "name": "2013-10-26-planned-outage"
+        }
+      ],
+      "name": "us-central1-b",
+      "quotas": [
+        {
+          "limit": 8.0,
+          "metric": "INSTANCES",
+          "usage": 0.0
+        },
+        {
+          "limit": 8.0,
+          "metric": "CPUS",
+          "usage": 0.0
+        },
+        {
+          "limit": 8.0,
+          "metric": "DISKS",
+          "usage": 0.0
+        },
+        {
+          "limit": 1024.0,
+          "metric": "DISKS_TOTAL_GB",
+          "usage": 0.0
+        }
+      ],
+      "region": "https://www.googleapis.com/compute/v1beta15/projects/project_name/regions/us-central1",
+      "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-b",
+      "status": "UP"
+    },
+    {
+      "creationTimestamp": "2013-02-05T16:19:23.257-08:00",
+      "description": "us-central2-a",
+      "id": "1001467574647549152",
+      "kind": "compute#zone",
+      "maintenanceWindows": [
+        {
+          "beginTime": "2013-10-12T12:00:00.000-07:00",
+          "description": "maintenance zone",
+          "endTime": "2013-10-27T12:00:00.000-07:00",
+          "name": "2013-10-12-planned-outage"
+        }
+      ],
+      "name": "us-central2-a",
+      "quotas": [
+        {
+          "limit": 8.0,
+          "metric": "INSTANCES",
+          "usage": 0.0
+        },
+        {
+          "limit": 8.0,
+          "metric": "CPUS",
+          "usage": 0.0
+        },
+        {
+          "limit": 8.0,
+          "metric": "DISKS",
+          "usage": 0.0
+        },
+        {
+          "limit": 1024.0,
+          "metric": "DISKS_TOTAL_GB",
+          "usage": 0.0
+        }
+      ],
+      "region": "https://www.googleapis.com/compute/v1beta15/projects/project_name/regions/us-central2",
+      "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central2-a",
+      "status": "UP"
+    }
+  ],
+  "kind": "compute#zoneList",
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/zones_europe-west1-a_instances.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/zones_europe-west1-a_instances.json b/libcloud/test/compute/fixtures/gce/zones_europe-west1-a_instances.json
new file mode 100644
index 0000000..5965c46
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/zones_europe-west1-a_instances.json
@@ -0,0 +1,145 @@
+{
+  "id": "projects/project_name/zones/europe-west1-a/instances",
+  "items": [
+    {
+      "canIpForward": false,
+      "creationTimestamp": "2013-06-26T15:13:38.295-07:00",
+      "disks": [
+        {
+          "index": 0,
+          "kind": "compute#attachedDisk",
+          "mode": "READ_WRITE",
+          "type": "SCRATCH"
+        }
+      ],
+      "id": "4658881585544531189",
+      "image": "https://www.googleapis.com/compute/v1beta15/projects/debian-cloud/global/images/debian-7-wheezy-v20130617",
+      "kind": "compute#instance",
+      "machineType": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/europe-west1-a/machineTypes/n1-standard-1",
+      "metadata": {
+        "fingerprint": "42WmSpB8rSM=",
+        "kind": "compute#metadata"
+      },
+      "name": "libcloud-demo-europe-multiple-nodes-000",
+      "networkInterfaces": [
+        {
+          "accessConfigs": [
+            {
+              "kind": "compute#accessConfig",
+              "name": "External NAT",
+              "natIP": "192.158.29.167",
+              "type": "ONE_TO_ONE_NAT"
+            }
+          ],
+          "name": "nic0",
+          "network": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/networks/default",
+          "networkIP": "10.240.144.78"
+        }
+      ],
+      "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/europe-west1-a/instances/libcloud-demo-europe-multiple-nodes-000",
+      "status": "RUNNING",
+      "tags": {
+        "fingerprint": "W7t6ZyTyIrc=",
+        "items": [
+          "libcloud"
+        ]
+      },
+      "zone": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/europe-west1-a"
+    },
+    {
+      "canIpForward": false,
+      "creationTimestamp": "2013-06-26T15:12:29.726-07:00",
+      "disks": [
+        {
+          "index": 0,
+          "kind": "compute#attachedDisk",
+          "mode": "READ_WRITE",
+          "type": "SCRATCH"
+        }
+      ],
+      "id": "14308265828754333159",
+      "image": "https://www.googleapis.com/compute/v1beta15/projects/debian-cloud/global/images/debian-7-wheezy-v20130617",
+      "kind": "compute#instance",
+      "machineType": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/europe-west1-a/machineTypes/n1-standard-1",
+      "metadata": {
+        "fingerprint": "42WmSpB8rSM=",
+        "kind": "compute#metadata"
+      },
+      "name": "libcloud-demo-europe-np-node",
+      "networkInterfaces": [
+        {
+          "accessConfigs": [
+            {
+              "kind": "compute#accessConfig",
+              "name": "External NAT",
+              "natIP": "192.158.29.88",
+              "type": "ONE_TO_ONE_NAT"
+            }
+          ],
+          "name": "nic0",
+          "network": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/networks/default",
+          "networkIP": "10.240.66.77"
+        }
+      ],
+      "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/europe-west1-a/instances/libcloud-demo-europe-np-node",
+      "status": "RUNNING",
+      "tags": {
+        "fingerprint": "W7t6ZyTyIrc=",
+        "items": [
+          "libcloud"
+        ]
+      },
+      "zone": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/europe-west1-a"
+    },
+    {
+      "canIpForward": false,
+      "creationTimestamp": "2013-06-26T15:13:21.549-07:00",
+      "disks": [
+        {
+          "boot": true,
+          "deviceName": "libcloud-demo-europe-boot-disk",
+          "index": 0,
+          "kind": "compute#attachedDisk",
+          "mode": "READ_WRITE",
+          "source": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/europe-west1-a/disks/libcloud-demo-europe-boot-disk",
+          "type": "PERSISTENT"
+        }
+      ],
+      "id": "0681789716029574243",
+      "kernel": "https://www.googleapis.com/compute/v1beta15/projects/google/global/kernels/gce-v20130603",
+      "kind": "compute#instance",
+      "machineType": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/europe-west1-a/machineTypes/n1-standard-1",
+      "metadata": {
+        "fingerprint": "42WmSpB8rSM=",
+        "kind": "compute#metadata"
+      },
+      "name": "libcloud-demo-europe-persist-node",
+      "networkInterfaces": [
+        {
+          "accessConfigs": [
+            {
+              "kind": "compute#accessConfig",
+              "name": "External NAT",
+              "natIP": "192.158.29.121",
+              "type": "ONE_TO_ONE_NAT"
+            }
+          ],
+          "name": "nic0",
+          "network": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/networks/default",
+          "networkIP": "10.240.206.91"
+        }
+      ],
+      "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/europe-west1-a/instances/libcloud-demo-europe-persist-node",
+      "status": "RUNNING",
+      "tags": {
+        "fingerprint": "W7t6ZyTyIrc=",
+        "items": [
+          "libcloud"
+        ]
+      },
+      "zone": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/europe-west1-a"
+    }
+  ],
+  "kind": "compute#instanceList",
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/europe-west1-a/instances"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/zones_europe-west1-a_instances_post.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/zones_europe-west1-a_instances_post.json b/libcloud/test/compute/fixtures/gce/zones_europe-west1-a_instances_post.json
new file mode 100644
index 0000000..8a5813d
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/zones_europe-west1-a_instances_post.json
@@ -0,0 +1,15 @@
+{
+  "id": "1510575454210533141",
+  "insertTime": "2013-06-26T20:57:34.366-07:00",
+  "kind": "compute#operation",
+  "name": "operation-zones_europe-west1-a_instances_post",
+  "operationType": "insert",
+  "progress": 0,
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/europe-west1-a/operations/operation-zones_europe-west1-a_instances_post",
+  "startTime": "2013-06-26T20:57:34.453-07:00",
+  "status": "PENDING",
+  "targetId": "14308265828754333159",
+  "targetLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/europe-west1-a/instances/libcloud-demo-europe-np-node",
+  "user": "897001307951@developer.gserviceaccount.com",
+  "zone": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/europe-west1-a"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/zones_europe-west1-a_machineTypes_n1-standard-1.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/zones_europe-west1-a_machineTypes_n1-standard-1.json b/libcloud/test/compute/fixtures/gce/zones_europe-west1-a_machineTypes_n1-standard-1.json
new file mode 100644
index 0000000..f66e26c
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/zones_europe-west1-a_machineTypes_n1-standard-1.json
@@ -0,0 +1,14 @@
+{
+  "creationTimestamp": "2012-06-07T13:48:14.670-07:00",
+  "description": "1 vCPU, 3.75 GB RAM",
+  "guestCpus": 1,
+  "id": "11077240422128681563",
+  "imageSpaceGb": 10,
+  "kind": "compute#machineType",
+  "maximumPersistentDisks": 16,
+  "maximumPersistentDisksSizeGb": "10240",
+  "memoryMb": 3840,
+  "name": "n1-standard-1",
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/europe-west1-a/machineTypes/n1-standard-1",
+  "zone": "europe-west1-a"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/zones_us-central1-a.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/zones_us-central1-a.json b/libcloud/test/compute/fixtures/gce/zones_us-central1-a.json
new file mode 100644
index 0000000..5fae313
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/zones_us-central1-a.json
@@ -0,0 +1,40 @@
+{
+  "creationTimestamp": "2013-02-05T16:19:23.269-08:00",
+  "description": "us-central1-a",
+  "id": "13462829244527433283",
+  "kind": "compute#zone",
+  "maintenanceWindows": [
+    {
+      "beginTime": "2013-08-17T12:00:00.000-07:00",
+      "description": "maintenance zone",
+      "endTime": "2013-09-01T12:00:00.000-07:00",
+      "name": "2013-08-17-planned-outage"
+    }
+  ],
+  "name": "us-central1-a",
+  "quotas": [
+    {
+      "limit": 8.0,
+      "metric": "INSTANCES",
+      "usage": 4.0
+    },
+    {
+      "limit": 8.0,
+      "metric": "CPUS",
+      "usage": 4.0
+    },
+    {
+      "limit": 8.0,
+      "metric": "DISKS",
+      "usage": 2.0
+    },
+    {
+      "limit": 1024.0,
+      "metric": "DISKS_TOTAL_GB",
+      "usage": 20.0
+    }
+  ],
+  "region": "https://www.googleapis.com/compute/v1beta15/projects/project_name/regions/us-central1",
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a",
+  "status": "UP"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/zones_us-central1-a_disks.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/zones_us-central1-a_disks.json b/libcloud/test/compute/fixtures/gce/zones_us-central1-a_disks.json
new file mode 100644
index 0000000..fad39f7
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/zones_us-central1-a_disks.json
@@ -0,0 +1,37 @@
+{
+  "id": "projects/project_name/zones/us-central1-a/disks",
+  "items": [
+    {
+      "creationTimestamp": "2013-06-26T10:06:04.007-07:00",
+      "id": "16109451798967042451",
+      "kind": "compute#disk",
+      "name": "lcdisk",
+      "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/disks/lcdisk",
+      "sizeGb": "1",
+      "status": "READY",
+      "zone": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a"
+    },
+    {
+      "creationTimestamp": "2013-06-26T09:47:09.178-07:00",
+      "id": "10880026303683859871",
+      "kind": "compute#disk",
+      "name": "libcloud-demo-boot-disk",
+      "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/disks/libcloud-demo-boot-disk",
+      "sizeGb": "10",
+      "status": "READY",
+      "zone": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a"
+    },
+    {
+      "creationTimestamp": "2013-06-25T10:57:34.305-07:00",
+      "id": "14383387450728762434",
+      "kind": "compute#disk",
+      "name": "test-disk",
+      "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/disks/test-disk",
+      "sizeGb": "10",
+      "status": "READY",
+      "zone": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a"
+    }
+  ],
+  "kind": "compute#diskList",
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/disks"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/zones_us-central1-a_disks_lcdisk.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/zones_us-central1-a_disks_lcdisk.json b/libcloud/test/compute/fixtures/gce/zones_us-central1-a_disks_lcdisk.json
new file mode 100644
index 0000000..85d7e31
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/zones_us-central1-a_disks_lcdisk.json
@@ -0,0 +1,10 @@
+{
+  "creationTimestamp": "2013-06-26T10:06:04.007-07:00",
+  "id": "16109451798967042451",
+  "kind": "compute#disk",
+  "name": "lcdisk",
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/disks/lcdisk",
+  "sizeGb": "1",
+  "status": "READY",
+  "zone": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/zones_us-central1-a_disks_lcdisk_delete.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/zones_us-central1-a_disks_lcdisk_delete.json b/libcloud/test/compute/fixtures/gce/zones_us-central1-a_disks_lcdisk_delete.json
new file mode 100644
index 0000000..024da2a
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/zones_us-central1-a_disks_lcdisk_delete.json
@@ -0,0 +1,15 @@
+{
+  "id": "06887337364510109333",
+  "insertTime": "2013-06-26T10:06:11.835-07:00",
+  "kind": "compute#operation",
+  "name": "operation-zones_us-central1-a_disks_lcdisk_delete",
+  "operationType": "delete",
+  "progress": 0,
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/operations/operation-zones_us-central1-a_disks_lcdisk_delete",
+  "startTime": "2013-06-26T10:06:12.006-07:00",
+  "status": "PENDING",
+  "targetId": "16109451798967042451",
+  "targetLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/disks/lcdisk",
+  "user": "897001307951@developer.gserviceaccount.com",
+  "zone": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/zones_us-central1-a_disks_post.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/zones_us-central1-a_disks_post.json b/libcloud/test/compute/fixtures/gce/zones_us-central1-a_disks_post.json
new file mode 100644
index 0000000..51cf6c0
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/zones_us-central1-a_disks_post.json
@@ -0,0 +1,14 @@
+{
+  "id": "0211151278250678078",
+  "insertTime": "2013-06-26T16:48:17.403-07:00",
+  "kind": "compute#operation",
+  "name": "operation-zones_us-central1-a_disks_post",
+  "operationType": "insert",
+  "progress": 0,
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/operations/operation-zones_us-central1-a_disks_post",
+  "startTime": "2013-06-26T16:48:17.479-07:00",
+  "status": "PENDING",
+  "targetLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/disks/lcdisk",
+  "user": "897001307951@developer.gserviceaccount.com",
+  "zone": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/zones_us-central1-a_instances.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/zones_us-central1-a_instances.json b/libcloud/test/compute/fixtures/gce/zones_us-central1-a_instances.json
new file mode 100644
index 0000000..1cbb5c6
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/zones_us-central1-a_instances.json
@@ -0,0 +1,232 @@
+{
+  "id": "projects/project_name/zones/us-central1-a/instances",
+  "items": [
+    {
+      "canIpForward": false,
+      "creationTimestamp": "2013-06-26T15:00:12.021-07:00",
+      "disks": [
+        {
+          "index": 0,
+          "kind": "compute#attachedDisk",
+          "mode": "READ_WRITE",
+          "type": "SCRATCH"
+        }
+      ],
+      "id": "1845312225624811608",
+      "image": "https://www.googleapis.com/compute/v1beta15/projects/debian-cloud/global/images/debian-7-wheezy-v20130617",
+      "kind": "compute#instance",
+      "machineType": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/machineTypes/n1-standard-1",
+      "metadata": {
+        "fingerprint": "42WmSpB8rSM=",
+        "kind": "compute#metadata"
+      },
+      "name": "node-name",
+      "networkInterfaces": [
+        {
+          "accessConfigs": [
+            {
+              "kind": "compute#accessConfig",
+              "name": "External NAT",
+              "natIP": "173.255.115.146",
+              "type": "ONE_TO_ONE_NAT"
+            }
+          ],
+          "name": "nic0",
+          "network": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/networks/default",
+          "networkIP": "10.240.113.94"
+        }
+      ],
+      "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/instances/node-name",
+      "status": "RUNNING",
+      "tags": {
+        "fingerprint": "42WmSpB8rSM="
+      },
+      "zone": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a"
+    },
+    {
+      "canIpForward": false,
+      "creationTimestamp": "2013-06-26T15:11:19.247-07:00",
+      "disks": [
+        {
+          "index": 0,
+          "kind": "compute#attachedDisk",
+          "mode": "READ_WRITE",
+          "type": "SCRATCH"
+        }
+      ],
+      "id": "8573880455005118258",
+      "image": "https://www.googleapis.com/compute/v1beta15/projects/debian-cloud/global/images/debian-7-wheezy-v20130617",
+      "kind": "compute#instance",
+      "machineType": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/machineTypes/n1-standard-1",
+      "metadata": {
+        "fingerprint": "42WmSpB8rSM=",
+        "kind": "compute#metadata"
+      },
+      "name": "libcloud-demo-multiple-nodes-000",
+      "networkInterfaces": [
+        {
+          "accessConfigs": [
+            {
+              "kind": "compute#accessConfig",
+              "name": "External NAT",
+              "natIP": "108.59.81.107",
+              "type": "ONE_TO_ONE_NAT"
+            }
+          ],
+          "name": "nic0",
+          "network": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/networks/default",
+          "networkIP": "10.240.224.165"
+        }
+      ],
+      "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/instances/libcloud-demo-multiple-nodes-000",
+      "status": "RUNNING",
+      "tags": {
+        "fingerprint": "W7t6ZyTyIrc=",
+        "items": [
+          "libcloud"
+        ]
+      },
+      "zone": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a"
+    },
+    {
+      "canIpForward": false,
+      "creationTimestamp": "2013-06-26T15:11:19.662-07:00",
+      "disks": [
+        {
+          "index": 0,
+          "kind": "compute#attachedDisk",
+          "mode": "READ_WRITE",
+          "type": "SCRATCH"
+        }
+      ],
+      "id": "17221721898919682654",
+      "image": "https://www.googleapis.com/compute/v1beta15/projects/debian-cloud/global/images/debian-7-wheezy-v20130617",
+      "kind": "compute#instance",
+      "machineType": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/machineTypes/n1-standard-1",
+      "metadata": {
+        "fingerprint": "42WmSpB8rSM=",
+        "kind": "compute#metadata"
+      },
+      "name": "libcloud-demo-multiple-nodes-001",
+      "networkInterfaces": [
+        {
+          "accessConfigs": [
+            {
+              "kind": "compute#accessConfig",
+              "name": "External NAT",
+              "natIP": "108.59.81.166",
+              "type": "ONE_TO_ONE_NAT"
+            }
+          ],
+          "name": "nic0",
+          "network": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/networks/default",
+          "networkIP": "10.240.223.109"
+        }
+      ],
+      "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/instances/libcloud-demo-multiple-nodes-001",
+      "status": "RUNNING",
+      "tags": {
+        "fingerprint": "W7t6ZyTyIrc=",
+        "items": [
+          "libcloud"
+        ]
+      },
+      "zone": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a"
+    },
+    {
+      "canIpForward": false,
+      "creationTimestamp": "2013-06-26T15:10:09.700-07:00",
+      "disks": [
+        {
+          "index": 0,
+          "kind": "compute#attachedDisk",
+          "mode": "READ_WRITE",
+          "type": "SCRATCH"
+        }
+      ],
+      "id": "03138438763739542377",
+      "image": "https://www.googleapis.com/compute/v1beta15/projects/debian-cloud/global/images/debian-7-wheezy-v20130617",
+      "kind": "compute#instance",
+      "machineType": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/machineTypes/n1-standard-1",
+      "metadata": {
+        "fingerprint": "42WmSpB8rSM=",
+        "kind": "compute#metadata"
+      },
+      "name": "libcloud-demo-np-node",
+      "networkInterfaces": [
+        {
+          "accessConfigs": [
+            {
+              "kind": "compute#accessConfig",
+              "name": "External NAT",
+              "natIP": "108.59.80.244",
+              "type": "ONE_TO_ONE_NAT"
+            }
+          ],
+          "name": "nic0",
+          "network": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/networks/default",
+          "networkIP": "10.240.147.18"
+        }
+      ],
+      "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/instances/libcloud-demo-np-node",
+      "status": "RUNNING",
+      "tags": {
+        "fingerprint": "W7t6ZyTyIrc=",
+        "items": [
+          "libcloud"
+        ]
+      },
+      "zone": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a"
+    },
+    {
+      "canIpForward": false,
+      "creationTimestamp": "2013-06-26T15:11:02.386-07:00",
+      "disks": [
+        {
+          "boot": true,
+          "deviceName": "libcloud-demo-boot-disk",
+          "index": 0,
+          "kind": "compute#attachedDisk",
+          "mode": "READ_WRITE",
+          "source": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/disks/libcloud-demo-boot-disk",
+          "type": "PERSISTENT"
+        }
+      ],
+      "id": "2378270030714524465",
+      "kernel": "https://www.googleapis.com/compute/v1beta15/projects/google/global/kernels/gce-v20130603",
+      "kind": "compute#instance",
+      "machineType": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/machineTypes/n1-standard-1",
+      "metadata": {
+        "fingerprint": "42WmSpB8rSM=",
+        "kind": "compute#metadata"
+      },
+      "name": "libcloud-demo-persist-node",
+      "networkInterfaces": [
+        {
+          "accessConfigs": [
+            {
+              "kind": "compute#accessConfig",
+              "name": "External NAT",
+              "natIP": "108.59.81.66",
+              "type": "ONE_TO_ONE_NAT"
+            }
+          ],
+          "name": "nic0",
+          "network": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/networks/default",
+          "networkIP": "10.240.192.190"
+        }
+      ],
+      "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/instances/libcloud-demo-persist-node",
+      "status": "RUNNING",
+      "tags": {
+        "fingerprint": "W7t6ZyTyIrc=",
+        "items": [
+          "libcloud"
+        ]
+      },
+      "zone": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a"
+    }
+  ],
+  "kind": "compute#instanceList",
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/instances"
+}

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b0782175/libcloud/test/compute/fixtures/gce/zones_us-central1-a_instances_lcnode-000.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/zones_us-central1-a_instances_lcnode-000.json b/libcloud/test/compute/fixtures/gce/zones_us-central1-a_instances_lcnode-000.json
new file mode 100644
index 0000000..0e5ef0d
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/zones_us-central1-a_instances_lcnode-000.json
@@ -0,0 +1,42 @@
+{
+  "canIpForward": false,
+  "creationTimestamp": "2013-06-26T16:12:30.443-07:00",
+  "disks": [
+    {
+      "index": 0,
+      "kind": "compute#attachedDisk",
+      "mode": "READ_WRITE",
+      "type": "SCRATCH"
+    }
+  ],
+  "id": "5390075309006132922",
+  "image": "https://www.googleapis.com/compute/v1beta15/projects/debian-cloud/global/images/debian-7-wheezy-v20130617",
+  "kind": "compute#instance",
+  "machineType": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/machineTypes/n1-standard-1",
+  "metadata": {
+    "fingerprint": "42WmSpB8rSM=",
+    "kind": "compute#metadata"
+  },
+  "name": "lcnode-000",
+  "networkInterfaces": [
+    {
+      "accessConfigs": [
+        {
+          "kind": "compute#accessConfig",
+          "name": "External NAT",
+          "natIP": "108.59.81.107",
+          "type": "ONE_TO_ONE_NAT"
+        }
+      ],
+      "name": "nic0",
+      "network": "https://www.googleapis.com/compute/v1beta15/projects/project_name/global/networks/default",
+      "networkIP": "10.240.106.153"
+    }
+  ],
+  "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a/instances/lcnode-000",
+  "status": "RUNNING",
+  "tags": {
+    "fingerprint": "42WmSpB8rSM="
+  },
+  "zone": "https://www.googleapis.com/compute/v1beta15/projects/project_name/zones/us-central1-a"
+}
\ No newline at end of file