Repository: libcloud
Updated Branches:
  refs/heads/trunk 065d1919d -> c873a0d34


http://git-wip-us.apache.org/repos/asf/libcloud/blob/cffd9642/libcloud/test/compute/fixtures/gce/aggregated_instanceGroupManagers.json
----------------------------------------------------------------------
diff --git 
a/libcloud/test/compute/fixtures/gce/aggregated_instanceGroupManagers.json 
b/libcloud/test/compute/fixtures/gce/aggregated_instanceGroupManagers.json
index f42644e..0f42511 100644
--- a/libcloud/test/compute/fixtures/gce/aggregated_instanceGroupManagers.json
+++ b/libcloud/test/compute/fixtures/gce/aggregated_instanceGroupManagers.json
@@ -85,7 +85,7 @@
      "name": "myinstancegroup",
      "description": "my description for myinstancegroup",
      "instanceTemplate": 
"https://content.googleapis.com/compute/v1/projects/project_name/global/instanceTemplates/my-instance-template1";,
-     "instanceGroup": 
"https://content.googleapis.com/compute/v1/projects/project_name/zones/us-central1-b/instanceGroups/myinstancegroup";,
+     "instanceGroup": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-b/instanceGroups/myinstancegroup";,
      "baseInstanceName": "base-foo",
      "fingerprint": "Q21hYveq9do=",
      "currentActions": {
@@ -98,7 +98,7 @@
       "refreshing": 0
      },
      "targetSize": 4,
-     "selfLink": 
"https://content.googleapis.com/compute/v1/projects/project_name/zones/us-central1-b/instanceGroupManagers/myinstancegroup";
+     "selfLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-b/instanceGroupManagers/myinstancegroup";
     }
    ]
   },
@@ -232,7 +232,7 @@
      "zone": 
"https://content.googleapis.com/compute/v1/projects/project_name/zones/us-east1-b";,
      "name": "myinstancegroup",
      "instanceTemplate": 
"https://content.googleapis.com/compute/v1/projects/project_name/global/instanceTemplates/my-instance-template1";,
-     "instanceGroup": 
"https://content.googleapis.com/compute/v1/projects/project_name/zones/us-east1-b/instanceGroups/myinstancegroup";,
+     "instanceGroup": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-east1-b/instanceGroups/myinstancegroup";,
      "baseInstanceName": "myinstancegroup",
      "fingerprint": "5bKcxzAnGOg=",
      "currentActions": {
@@ -245,7 +245,7 @@
       "refreshing": 0
      },
      "targetSize": 2,
-     "selfLink": 
"https://content.googleapis.com/compute/v1/projects/project_name/zones/us-east1-b/instanceGroupManagers/myinstancegroup";
+     "selfLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-east1-b/instanceGroupManagers/myinstancegroup";
     }
    ]
   },

http://git-wip-us.apache.org/repos/asf/libcloud/blob/cffd9642/libcloud/test/compute/fixtures/gce/global_backendServices_web_service.json
----------------------------------------------------------------------
diff --git 
a/libcloud/test/compute/fixtures/gce/global_backendServices_web_service.json 
b/libcloud/test/compute/fixtures/gce/global_backendServices_web_service.json
index e9af3b4..4e0e5b1 100644
--- a/libcloud/test/compute/fixtures/gce/global_backendServices_web_service.json
+++ b/libcloud/test/compute/fixtures/gce/global_backendServices_web_service.json
@@ -7,14 +7,14 @@
  "backends": [
   {
    "description": "",
-   "group": 
"https://www.googleapis.com/resourceviews/v1beta1/projects/project_name/zones/us-central1-b/resourceViews/us-resources";,
+   "group": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/instanceGroups/myinstancegroup";,
    "balancingMode": "RATE",
    "maxRate": 100,
    "capacityScaler": 1.0
   },
   {
    "description": "",
-   "group": 
"https://www.googleapis.com/resourceviews/v1beta1/projects/project_name/zones/europe-west1-b/resourceViews/eu-resources";,
+   "group": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/instanceGroups/myinstancegroup";,
    "balancingMode": "RATE",
    "maxRate": 150,
    "capacityScaler": 1.0

http://git-wip-us.apache.org/repos/asf/libcloud/blob/cffd9642/libcloud/test/compute/fixtures/gce/global_instanceTemplates.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/global_instanceTemplates.json 
b/libcloud/test/compute/fixtures/gce/global_instanceTemplates.json
index d2b0225..1614824 100644
--- a/libcloud/test/compute/fixtures/gce/global_instanceTemplates.json
+++ b/libcloud/test/compute/fixtures/gce/global_instanceTemplates.json
@@ -1,5 +1,5 @@
 {
-    "id": "projects/supertom-graphite/global/instanceTemplates",
+    "id": "projects/project_name/global/instanceTemplates",
     "items": [
         {
             "creationTimestamp": "2016-07-18T09:53:22.323-07:00",
@@ -17,7 +17,7 @@
                         "initializeParams": {
                             "diskSizeGb": "10",
                             "diskType": "pd-standard",
-                            "sourceImage": 
"projects/supertom-graphite/global/images/my-new-image1"
+                            "sourceImage": 
"projects/project_name/global/images/my-new-image1"
                         },
                         "kind": "compute#attachedDisk",
                         "mode": "READ_WRITE",
@@ -38,7 +38,7 @@
                                 "type": "ONE_TO_ONE_NAT"
                             }
                         ],
-                        "network": 
"https://content.googleapis.com/compute/v1/projects/supertom-graphite/global/networks/default";
+                        "network": 
"https://content.googleapis.com/compute/v1/projects/project_name/global/networks/default";
                     }
                 ],
                 "scheduling": {
@@ -59,9 +59,9 @@
                     }
                 ]
             },
-            "selfLink": 
"https://content.googleapis.com/compute/v1/projects/supertom-graphite/global/instanceTemplates/my-instance-template1";
+            "selfLink": 
"https://content.googleapis.com/compute/v1/projects/project_name/global/instanceTemplates/my-instance-template1";
         }
     ],
     "kind": "compute#instanceTemplateList",
-    "selfLink": 
"https://www.googleapis.com/compute/v1/projects/supertom-graphite/global/instanceTemplates";
+    "selfLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/global/instanceTemplates";
 }

http://git-wip-us.apache.org/repos/asf/libcloud/blob/cffd9642/libcloud/test/compute/fixtures/gce/global_instanceTemplates_insert.json
----------------------------------------------------------------------
diff --git 
a/libcloud/test/compute/fixtures/gce/global_instanceTemplates_insert.json 
b/libcloud/test/compute/fixtures/gce/global_instanceTemplates_insert.json
new file mode 100644
index 0000000..fe35dcb
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/global_instanceTemplates_insert.json
@@ -0,0 +1,12 @@
+{
+    "status": "PENDING", 
+    "kind": "compute#operation", 
+    "name": "my_instance_template1", 
+    "insertTime": "2016-09-02T09:31:52.285-07:00", 
+    "targetLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/global/instanceTemplates/my_instance_template1";,
 
+    "operationType": "compute.instanceTemplates.insert", 
+    "progress": 50, 
+    "id": 123456, 
+    "selfLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/global/operations/operation-global_instanceTemplates_my_instance_template1_insert";,
 
+    "user": "1264195755357-comp...@developer.gserviceaccount.com"
+}

http://git-wip-us.apache.org/repos/asf/libcloud/blob/cffd9642/libcloud/test/compute/fixtures/gce/global_sslcertificates.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/global_sslcertificates.json 
b/libcloud/test/compute/fixtures/gce/global_sslcertificates.json
new file mode 100644
index 0000000..170c1cb
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/global_sslcertificates.json
@@ -0,0 +1,16 @@
+{
+ "kind": "compute#sslCertificateList",
+ "selfLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/global/sslCertificates";,
+ "id": "projects/project_name/global/sslCertificates",
+ "items": [
+  {
+   "kind": "compute#sslCertificate",
+   "id": "2064539516762881220",
+   "creationTimestamp": "2016-08-30T10:28:11.926-07:00",
+   "name": "example",
+   "description": "my example ssl cert.",
+   "selfLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/global/sslCertificates/example-cert";,
+   "certificate": "-----BEGIN CERTIFICATE-----\nfoobar==\n-----END 
CERTIFICATE-----\n"
+  }
+ ]
+}

http://git-wip-us.apache.org/repos/asf/libcloud/blob/cffd9642/libcloud/test/compute/fixtures/gce/global_sslcertificates_example.json
----------------------------------------------------------------------
diff --git 
a/libcloud/test/compute/fixtures/gce/global_sslcertificates_example.json 
b/libcloud/test/compute/fixtures/gce/global_sslcertificates_example.json
new file mode 100644
index 0000000..c6a2985
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/global_sslcertificates_example.json
@@ -0,0 +1,10 @@
+{
+ "kind": "compute#sslCertificate",
+ "id": "2064539516762881220",
+ "creationTimestamp": "2016-08-30T10:28:11.926-07:00",
+ "name": "example",
+ "description": "my example ssl cert.",
+ "selfLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/global/sslCertificates/example";,
+ "certificate": "-----BEGIN CERTIFICATE-----\nfoobar==\n-----END 
CERTIFICATE-----\n"
+
+}

http://git-wip-us.apache.org/repos/asf/libcloud/blob/cffd9642/libcloud/test/compute/fixtures/gce/global_sslcertificates_post.json
----------------------------------------------------------------------
diff --git 
a/libcloud/test/compute/fixtures/gce/global_sslcertificates_post.json 
b/libcloud/test/compute/fixtures/gce/global_sslcertificates_post.json
new file mode 100644
index 0000000..23a9542
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/global_sslcertificates_post.json
@@ -0,0 +1,13 @@
+{
+ "kind": "compute#operation",
+ "id": "5564862567931215044",
+ "name": "operation-1472578091714-53b4d4e0f85d1-cf587a68-9d7a9200",
+ "operationType": "insert",
+ "targetLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/global/sslCertificates/example";,
+ "targetId": "2064539516762881220",
+ "status": "PENDING",
+ "user": "1294195755358-comp...@developer.gserviceaccount.com",
+ "progress": 0,
+ "insertTime": "2016-08-30T10:28:11.948-07:00",
+ "selfLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/global/operations/operation_global_sslcertificates_post";
+}

http://git-wip-us.apache.org/repos/asf/libcloud/blob/cffd9642/libcloud/test/compute/fixtures/gce/operations_operation_global_instanceTemplates_insert.json
----------------------------------------------------------------------
diff --git 
a/libcloud/test/compute/fixtures/gce/operations_operation_global_instanceTemplates_insert.json
 
b/libcloud/test/compute/fixtures/gce/operations_operation_global_instanceTemplates_insert.json
new file mode 100644
index 0000000..274cc4f
--- /dev/null
+++ 
b/libcloud/test/compute/fixtures/gce/operations_operation_global_instanceTemplates_insert.json
@@ -0,0 +1,12 @@
+{
+    "status": "DONE", 
+    "kind": "compute#operation", 
+    "name": "my_instance_template1", 
+    "insertTime": "2016-09-02T09:31:52.285-07:00", 
+    "targetLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/global/instanceTemplates/my_instance_template1";,
 
+    "operationType": "compute.instanceTemplates.insert", 
+    "progress": 100, 
+    "id": 123456, 
+    "selfLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/global/operations/operation-global_instanceTemplates_my_instance_template1_insert";,
 
+    "user": "1264195755357-comp...@developer.gserviceaccount.com"
+}

http://git-wip-us.apache.org/repos/asf/libcloud/blob/cffd9642/libcloud/test/compute/fixtures/gce/operations_operation_global_sslcertificates_post.json
----------------------------------------------------------------------
diff --git 
a/libcloud/test/compute/fixtures/gce/operations_operation_global_sslcertificates_post.json
 
b/libcloud/test/compute/fixtures/gce/operations_operation_global_sslcertificates_post.json
new file mode 100644
index 0000000..73e5fbd
--- /dev/null
+++ 
b/libcloud/test/compute/fixtures/gce/operations_operation_global_sslcertificates_post.json
@@ -0,0 +1,13 @@
+{
+ "kind": "compute#operation",
+ "id": "5564862567931215044",
+ "name": "operation-1472578091714-53b4d4e0f85d1-cf587a68-9d7a9200",
+ "operationType": "insert",
+ "targetLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/global/sslCertificates/example";,
+ "targetId": "2064539516762881220",
+ "status": "DONE",
+ "user": "1294195755358-comp...@developer.gserviceaccount.com",
+ "progress": 100,
+ "insertTime": "2016-08-30T10:28:11.948-07:00",
+ "selfLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/global/operations/operation_global_sslcertificates_post";
+}

http://git-wip-us.apache.org/repos/asf/libcloud/blob/cffd9642/libcloud/test/compute/fixtures/gce/operations_operation_zones_us_central1_a_instanceGroups_insert.json
----------------------------------------------------------------------
diff --git 
a/libcloud/test/compute/fixtures/gce/operations_operation_zones_us_central1_a_instanceGroups_insert.json
 
b/libcloud/test/compute/fixtures/gce/operations_operation_zones_us_central1_a_instanceGroups_insert.json
new file mode 100644
index 0000000..2b6c12f
--- /dev/null
+++ 
b/libcloud/test/compute/fixtures/gce/operations_operation_zones_us_central1_a_instanceGroups_insert.json
@@ -0,0 +1,13 @@
+{
+    "status": "DONE", 
+    "kind": "compute#operation", 
+    "name": "myname", 
+    "zone": "us-central1-a", 
+    "insertTime": "2016-09-02T09:31:52.285-07:00", 
+    "targetLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones_us_central1_a/instanceGroups/myname";,
 
+    "operationType": "compute.instanceGroups.insert", 
+    "progress": 100, 
+    "id": 123456, 
+    "selfLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/operations/operation-zones_us_central1_a_instanceGroups_myname_insert";,
 
+    "user": "1264195755357-comp...@developer.gserviceaccount.com"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/cffd9642/libcloud/test/compute/fixtures/gce/operations_operation_zones_us_central1_a_instanceGroups_myname_addInstances.json
----------------------------------------------------------------------
diff --git 
a/libcloud/test/compute/fixtures/gce/operations_operation_zones_us_central1_a_instanceGroups_myname_addInstances.json
 
b/libcloud/test/compute/fixtures/gce/operations_operation_zones_us_central1_a_instanceGroups_myname_addInstances.json
new file mode 100644
index 0000000..9e21253
--- /dev/null
+++ 
b/libcloud/test/compute/fixtures/gce/operations_operation_zones_us_central1_a_instanceGroups_myname_addInstances.json
@@ -0,0 +1,13 @@
+{
+    "status": "DONE", 
+    "kind": "compute#operation", 
+    "name": "myname", 
+    "zone": "us-central1-a", 
+    "insertTime": "2016-09-02T09:31:52.285-07:00", 
+    "targetLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/instanceGroups/myname";,
 
+    "operationType": "compute.instanceGroups.addInstances", 
+    "progress": 100, 
+    "id": 123456, 
+    "selfLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/operations/operation-zones_us_central1_a_instanceGroups_myname_addInstances";,
 
+    "user": "1264195755357-comp...@developer.gserviceaccount.com"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/cffd9642/libcloud/test/compute/fixtures/gce/operations_operation_zones_us_central1_a_instanceGroups_myname_delete.json
----------------------------------------------------------------------
diff --git 
a/libcloud/test/compute/fixtures/gce/operations_operation_zones_us_central1_a_instanceGroups_myname_delete.json
 
b/libcloud/test/compute/fixtures/gce/operations_operation_zones_us_central1_a_instanceGroups_myname_delete.json
new file mode 100644
index 0000000..e13d017
--- /dev/null
+++ 
b/libcloud/test/compute/fixtures/gce/operations_operation_zones_us_central1_a_instanceGroups_myname_delete.json
@@ -0,0 +1,13 @@
+{
+    "status": "DONE", 
+    "kind": "compute#operation", 
+    "name": "myname", 
+    "zone": "us-central1-a", 
+    "insertTime": "2016-09-02T09:31:52.285-07:00", 
+    "targetLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/instanceGroups/myname";,
 
+    "operationType": "compute.instanceGroups.delete", 
+    "progress": 100, 
+    "id": 123456, 
+    "selfLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/operations/operation-zones_us_central1_a_instanceGroups_myname_delete";,
 
+    "user": "1264195755357-comp...@developer.gserviceaccount.com"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/cffd9642/libcloud/test/compute/fixtures/gce/operations_operation_zones_us_central1_a_instanceGroups_myname_removeInstances.json
----------------------------------------------------------------------
diff --git 
a/libcloud/test/compute/fixtures/gce/operations_operation_zones_us_central1_a_instanceGroups_myname_removeInstances.json
 
b/libcloud/test/compute/fixtures/gce/operations_operation_zones_us_central1_a_instanceGroups_myname_removeInstances.json
new file mode 100644
index 0000000..a994784
--- /dev/null
+++ 
b/libcloud/test/compute/fixtures/gce/operations_operation_zones_us_central1_a_instanceGroups_myname_removeInstances.json
@@ -0,0 +1,13 @@
+{
+    "status": "DONE", 
+    "kind": "compute#operation", 
+    "name": "myname", 
+    "zone": "us-central1-a", 
+    "insertTime": "2016-09-02T09:31:52.285-07:00", 
+    "targetLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/instanceGroups/myname";,
 
+    "operationType": "compute.instanceGroups.removeInstances", 
+    "progress": 100, 
+    "id": 123456, 
+    "selfLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/operations/operation-zones_us_central1_a_instanceGroups_myname_removeInstances";,
 
+    "user": "1264195755357-comp...@developer.gserviceaccount.com"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/cffd9642/libcloud/test/compute/fixtures/gce/operations_operation_zones_us_central1_a_instanceGroups_myname_setNamedPorts.json
----------------------------------------------------------------------
diff --git 
a/libcloud/test/compute/fixtures/gce/operations_operation_zones_us_central1_a_instanceGroups_myname_setNamedPorts.json
 
b/libcloud/test/compute/fixtures/gce/operations_operation_zones_us_central1_a_instanceGroups_myname_setNamedPorts.json
new file mode 100644
index 0000000..e7b869e
--- /dev/null
+++ 
b/libcloud/test/compute/fixtures/gce/operations_operation_zones_us_central1_a_instanceGroups_myname_setNamedPorts.json
@@ -0,0 +1,13 @@
+{
+    "status": "DONE", 
+    "kind": "compute#operation", 
+    "name": "myname", 
+    "zone": "us-central1-a", 
+    "insertTime": "2016-09-02T09:31:52.285-07:00", 
+    "targetLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/instanceGroups/myname";,
 
+    "operationType": "compute.instanceGroups.setNamedPorts", 
+    "progress": 100, 
+    "id": 123456, 
+    "selfLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/operations/operation-zones_us_central1_a_instanceGroups_myname_setNamedPorts";,
 
+    "user": "1264195755357-comp...@developer.gserviceaccount.com"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/cffd9642/libcloud/test/compute/fixtures/gce/regions_us-east1_subnetworks_cf_972cf02e6ad49113.json
----------------------------------------------------------------------
diff --git 
a/libcloud/test/compute/fixtures/gce/regions_us-east1_subnetworks_cf_972cf02e6ad49113.json
 
b/libcloud/test/compute/fixtures/gce/regions_us-east1_subnetworks_cf_972cf02e6ad49113.json
new file mode 100644
index 0000000..79ac9e4
--- /dev/null
+++ 
b/libcloud/test/compute/fixtures/gce/regions_us-east1_subnetworks_cf_972cf02e6ad49113.json
@@ -0,0 +1,11 @@
+{
+ "kind": "compute#subnetwork",
+ "id": "4297043163355844284",
+ "creationTimestamp": "2016-10-01T05:34:27.209-07:00",
+ "gatewayAddress": "10.128.0.1",
+ "name": "cf-972cf02e6ad49113",
+ "network": 
"https://www.googleapis.com/compute/v1/projects/project_name/global/networks/cf";,
+ "ipCidrRange": "10.128.0.0/20",
+ "region": 
"https://www.googleapis.com/compute/v1/projects/project_name/regions/us-east1";,
+ "selfLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/regions/us-central1/subnetworks/cf-972cf02e6ad49113";
+}

http://git-wip-us.apache.org/repos/asf/libcloud/blob/cffd9642/libcloud/test/compute/fixtures/gce/zones_us-central1-a_instanceGroupManagers.json
----------------------------------------------------------------------
diff --git 
a/libcloud/test/compute/fixtures/gce/zones_us-central1-a_instanceGroupManagers.json
 
b/libcloud/test/compute/fixtures/gce/zones_us-central1-a_instanceGroupManagers.json
index 8f6c569..c451bd6 100644
--- 
a/libcloud/test/compute/fixtures/gce/zones_us-central1-a_instanceGroupManagers.json
+++ 
b/libcloud/test/compute/fixtures/gce/zones_us-central1-a_instanceGroupManagers.json
@@ -11,7 +11,7 @@
    "zone": 
"https://content.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a";,
    "name": "myinstancegroup",
    "instanceTemplate": 
"https://content.googleapis.com/compute/v1/projects/project_name/global/instanceTemplates/my-instance-template1";,
-   "instanceGroup": 
"https://content.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/instanceGroups/myinstancegroup";,
+   "instanceGroup": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/instanceGroups/myinstancegroup";,
    "baseInstanceName": "myinstancegroup",
    "fingerprint": "5bKcxzAnGOg=",
    "currentActions": {
@@ -24,7 +24,7 @@
     "refreshing": 0
    },
    "targetSize": 2,
-   "selfLink": 
"https://content.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/instanceGroupManagers/myinstancegroup";
+   "selfLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/instanceGroupManagers/myinstancegroup";
   }
  ]
 }

http://git-wip-us.apache.org/repos/asf/libcloud/blob/cffd9642/libcloud/test/compute/fixtures/gce/zones_us-central1-a_instanceGroupManagers_myinstancegroup.json
----------------------------------------------------------------------
diff --git 
a/libcloud/test/compute/fixtures/gce/zones_us-central1-a_instanceGroupManagers_myinstancegroup.json
 
b/libcloud/test/compute/fixtures/gce/zones_us-central1-a_instanceGroupManagers_myinstancegroup.json
index be0f0e7..823b5b3 100644
--- 
a/libcloud/test/compute/fixtures/gce/zones_us-central1-a_instanceGroupManagers_myinstancegroup.json
+++ 
b/libcloud/test/compute/fixtures/gce/zones_us-central1-a_instanceGroupManagers_myinstancegroup.json
@@ -7,7 +7,7 @@
     "name": "myinstancegroup",
     "description": "my description for myinstancegroup",
     "instanceTemplate": 
"https://content.googleapis.com/compute/v1/projects/project_name/global/instanceTemplates/my-instance-template1";,
-    "instanceGroup": 
"https://content.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/instanceGroups/myinstancegroup";,
+    "instanceGroup": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/instanceGroups/myinstancegroup";,
     "baseInstanceName": "base-foo",
     "fingerprint": "Q21hYveq9do=",
     "currentActions": {
@@ -20,5 +20,5 @@
        "refreshing": 0
     },
     "targetSize": 4,
-    "selfLink": 
"https://content.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/instanceGroupManagers/myinstancegroup";
+    "selfLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/instanceGroupManagers/myinstancegroup";
 }

http://git-wip-us.apache.org/repos/asf/libcloud/blob/cffd9642/libcloud/test/compute/fixtures/gce/zones_us-central1-a_instanceGroup_myinstancegroup.json
----------------------------------------------------------------------
diff --git 
a/libcloud/test/compute/fixtures/gce/zones_us-central1-a_instanceGroup_myinstancegroup.json
 
b/libcloud/test/compute/fixtures/gce/zones_us-central1-a_instanceGroup_myinstancegroup.json
index ee36755..68f06e6 100644
--- 
a/libcloud/test/compute/fixtures/gce/zones_us-central1-a_instanceGroup_myinstancegroup.json
+++ 
b/libcloud/test/compute/fixtures/gce/zones_us-central1-a_instanceGroup_myinstancegroup.json
@@ -4,11 +4,11 @@
     "id": "1968709502073089769",
     "creationTimestamp": "2016-08-11T16:53:42.413-07:00",
     "zone": 
"https://content.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a";,
-    "name": "managed-instance-group-1",
+    "name": "myinstancegroup",
     "description": "This instance group is controlled by Instance Group 
Manager 'myinstancegroup'. To modify instances in this group, use the Instance 
Group Manager API: 
https://cloud.google.com/compute/docs/reference/latest/instanceGroupManagers";,
     "network": 
"https://content.googleapis.com/compute/v1/projects/project_name/global/networks/default";,
     "fingerprint": "42WmSpB8rSM=",
-    "selfLink": 
"https://content.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/instanceGroups/myinstancegroup";,
+    "selfLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/instanceGroups/myinstancegroup";,
     "size": 4,
     "subnetwork": 
"https://content.googleapis.com/compute/v1/projects/project_name/regions/us-central1/subnetworks/cf-972cf02e6ad49112";
 }

http://git-wip-us.apache.org/repos/asf/libcloud/blob/cffd9642/libcloud/test/compute/fixtures/gce/zones_us-central1-a_instanceGroup_myinstancegroup2.json
----------------------------------------------------------------------
diff --git 
a/libcloud/test/compute/fixtures/gce/zones_us-central1-a_instanceGroup_myinstancegroup2.json
 
b/libcloud/test/compute/fixtures/gce/zones_us-central1-a_instanceGroup_myinstancegroup2.json
new file mode 100644
index 0000000..f853bb7
--- /dev/null
+++ 
b/libcloud/test/compute/fixtures/gce/zones_us-central1-a_instanceGroup_myinstancegroup2.json
@@ -0,0 +1,14 @@
+{
+
+    "kind": "compute#instanceGroup",
+    "id": "1968709502073089768",
+    "creationTimestamp": "2016-08-26T16:53:42.413-07:00",
+    "zone": 
"https://content.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a";,
+    "name": "myinstancegroup2",
+    "description": "myinstancegroup2",
+    "network": 
"https://content.googleapis.com/compute/v1/projects/project_name/global/networks/default";,
+    "fingerprint": "42WmSpB8rSN=",
+    "selfLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/instanceGroups/myinstancegroup2";,
+    "size": 4,
+    "subnetwork": 
"https://content.googleapis.com/compute/v1/projects/project_name/regions/us-central1/subnetworks/cf-972cf02e6ad49112";
+}

http://git-wip-us.apache.org/repos/asf/libcloud/blob/cffd9642/libcloud/test/compute/fixtures/gce/zones_us-central1-b_instanceGroupManagers_myinstancegroup.json
----------------------------------------------------------------------
diff --git 
a/libcloud/test/compute/fixtures/gce/zones_us-central1-b_instanceGroupManagers_myinstancegroup.json
 
b/libcloud/test/compute/fixtures/gce/zones_us-central1-b_instanceGroupManagers_myinstancegroup.json
index 2385aa3..863f664 100644
--- 
a/libcloud/test/compute/fixtures/gce/zones_us-central1-b_instanceGroupManagers_myinstancegroup.json
+++ 
b/libcloud/test/compute/fixtures/gce/zones_us-central1-b_instanceGroupManagers_myinstancegroup.json
@@ -7,7 +7,7 @@
     "name": "myinstancegroup",
     "description": "my description for myinstancegroup",
     "instanceTemplate": 
"https://content.googleapis.com/compute/v1/projects/project_name/global/instanceTemplates/my-instance-template1";,
-    "instanceGroup": 
"https://content.googleapis.com/compute/v1/projects/project_name/zones/us-central1-b/instanceGroups/myinstancegroup";,
+    "instanceGroup": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-b/instanceGroups/myinstancegroup";,
     "baseInstanceName": "base-foo",
     "fingerprint": "Q21hYveq9do=",
     "currentActions": {
@@ -20,5 +20,5 @@
        "refreshing": 0
     },
     "targetSize": 4,
-    "selfLink": 
"https://content.googleapis.com/compute/v1/projects/project_name/zones/us-central1-b/instanceGroupManagers/myinstancegroup";
+    "selfLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-b/instanceGroupManagers/myinstancegroup";
 }

http://git-wip-us.apache.org/repos/asf/libcloud/blob/cffd9642/libcloud/test/compute/fixtures/gce/zones_us-central1-b_instanceGroup_myinstancegroup.json
----------------------------------------------------------------------
diff --git 
a/libcloud/test/compute/fixtures/gce/zones_us-central1-b_instanceGroup_myinstancegroup.json
 
b/libcloud/test/compute/fixtures/gce/zones_us-central1-b_instanceGroup_myinstancegroup.json
index c4330a8..94815c4 100644
--- 
a/libcloud/test/compute/fixtures/gce/zones_us-central1-b_instanceGroup_myinstancegroup.json
+++ 
b/libcloud/test/compute/fixtures/gce/zones_us-central1-b_instanceGroup_myinstancegroup.json
@@ -10,5 +10,5 @@
     "fingerprint": "42WmSpB8rSM=",
     "selfLink": 
"https://content.googleapis.com/compute/v1/projects/project_name/zones/us-central1-b/instanceGroups/myinstancegroup";,
     "size": 4,
-    "subnetwork": 
"https://content.googleapis.com/compute/v1/projects/project_name/regions/us-central1/subnetworks/cf-972cf02e6ad49112";
+    "subnetwork": 
"https://www.googleapis.com/compute/v1/projects/project_name/regions/us-central1/subnetworks/cf-972cf02e6ad49112";
 }

http://git-wip-us.apache.org/repos/asf/libcloud/blob/cffd9642/libcloud/test/compute/fixtures/gce/zones_us-east1-b_instanceGroupManagers.json
----------------------------------------------------------------------
diff --git 
a/libcloud/test/compute/fixtures/gce/zones_us-east1-b_instanceGroupManagers.json
 
b/libcloud/test/compute/fixtures/gce/zones_us-east1-b_instanceGroupManagers.json
index 1bf7014..1ac5d9f 100644
--- 
a/libcloud/test/compute/fixtures/gce/zones_us-east1-b_instanceGroupManagers.json
+++ 
b/libcloud/test/compute/fixtures/gce/zones_us-east1-b_instanceGroupManagers.json
@@ -11,7 +11,7 @@
    "zone": 
"https://content.googleapis.com/compute/v1/projects/project_name/zones/us-east1-b";,
    "name": "myinstancegroup",
    "instanceTemplate": 
"https://content.googleapis.com/compute/v1/projects/project_name/global/instanceTemplates/my-instance-template1";,
-   "instanceGroup": 
"https://content.googleapis.com/compute/v1/projects/project_name/zones/us-east1-b/instanceGroups/myinstancegroup";,
+   "instanceGroup": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-east1-b/instanceGroups/myinstancegroup";,
    "baseInstanceName": "myinstancegroup",
    "fingerprint": "5bKcxzAnGOg=",
    "currentActions": {
@@ -24,7 +24,7 @@
     "refreshing": 0
    },
    "targetSize": 2,
-   "selfLink": 
"https://content.googleapis.com/compute/v1/projects/project_name/zones/us-east1-b/instanceGroupManagers/myinstancegroup";
+   "selfLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-east1-b/instanceGroupManagers/myinstancegroup";
   }
  ]
 }

http://git-wip-us.apache.org/repos/asf/libcloud/blob/cffd9642/libcloud/test/compute/fixtures/gce/zones_us-east1-b_instanceGroup_myinstancegroup.json
----------------------------------------------------------------------
diff --git 
a/libcloud/test/compute/fixtures/gce/zones_us-east1-b_instanceGroup_myinstancegroup.json
 
b/libcloud/test/compute/fixtures/gce/zones_us-east1-b_instanceGroup_myinstancegroup.json
index 3726373..55e9ff5 100644
--- 
a/libcloud/test/compute/fixtures/gce/zones_us-east1-b_instanceGroup_myinstancegroup.json
+++ 
b/libcloud/test/compute/fixtures/gce/zones_us-east1-b_instanceGroup_myinstancegroup.json
@@ -8,7 +8,7 @@
     "description": "This instance group is controlled by Instance Group 
Manager 'myinstancegroup'. To modify instances in this group, use the Instance 
Group Manager API: 
https://cloud.google.com/compute/docs/reference/latest/instanceGroupManagers";,
     "network": 
"https://content.googleapis.com/compute/v1/projects/project_name/global/networks/default";,
     "fingerprint": "42WmSpB8rSM=",
-    "selfLink": 
"https://content.googleapis.com/compute/v1/projects/project_name/zones/us-east1-b/instanceGroups/myinstancegroup";,
+    "selfLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-east1-b/instanceGroups/myinstancegroup";,
     "size": 4,
-    "subnetwork": 
"https://content.googleapis.com/compute/v1/projects/project_name/regions/us-east1/subnetworks/cf-972cf02e6ad49112";
+    "subnetwork": 
"https://content.googleapis.com/compute/v1/projects/project_name/regions/us-east1/subnetworks/cf-972cf02e6ad49113";
 }

http://git-wip-us.apache.org/repos/asf/libcloud/blob/cffd9642/libcloud/test/compute/fixtures/gce/zones_us_central1_a_instanceGroups.json
----------------------------------------------------------------------
diff --git 
a/libcloud/test/compute/fixtures/gce/zones_us_central1_a_instanceGroups.json 
b/libcloud/test/compute/fixtures/gce/zones_us_central1_a_instanceGroups.json
new file mode 100644
index 0000000..33a837b
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/zones_us_central1_a_instanceGroups.json
@@ -0,0 +1,29 @@
+{
+    "id": "projects/project_name/zones/us-central1-a/instanceGroups",
+    "items": [
+        {
+            "creationTimestamp": "2016-09-09T13:48:39.700-07:00",
+            "description": "",
+            "fingerprint": "42WmSpB8rSM=",
+            "id": "5837905299775594184",
+            "kind": "compute#instanceGroup",
+            "name": "myname",
+            "selfLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/instanceGroups/myname";,
+            "size": 0,
+            "zone": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a";
+        },
+        {
+            "creationTimestamp": "2016-09-09T13:54:30.857-07:00",
+            "description": "",
+            "fingerprint": "42WmSpB8rSM=",
+            "id": "6825641674983513961",
+            "kind": "compute#instanceGroup",
+            "name": "myname2",
+            "selfLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/instanceGroups/myname2";,
+            "size": 0,
+            "zone": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a";
+        }
+    ],
+    "kind": "compute#instanceGroupList",
+    "selfLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/instanceGroups";
+}

http://git-wip-us.apache.org/repos/asf/libcloud/blob/cffd9642/libcloud/test/compute/fixtures/gce/zones_us_central1_a_instanceGroups_insert.json
----------------------------------------------------------------------
diff --git 
a/libcloud/test/compute/fixtures/gce/zones_us_central1_a_instanceGroups_insert.json
 
b/libcloud/test/compute/fixtures/gce/zones_us_central1_a_instanceGroups_insert.json
new file mode 100644
index 0000000..2b6c12f
--- /dev/null
+++ 
b/libcloud/test/compute/fixtures/gce/zones_us_central1_a_instanceGroups_insert.json
@@ -0,0 +1,13 @@
+{
+    "status": "DONE", 
+    "kind": "compute#operation", 
+    "name": "myname", 
+    "zone": "us-central1-a", 
+    "insertTime": "2016-09-02T09:31:52.285-07:00", 
+    "targetLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones_us_central1_a/instanceGroups/myname";,
 
+    "operationType": "compute.instanceGroups.insert", 
+    "progress": 100, 
+    "id": 123456, 
+    "selfLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/operations/operation-zones_us_central1_a_instanceGroups_myname_insert";,
 
+    "user": "1264195755357-comp...@developer.gserviceaccount.com"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/cffd9642/libcloud/test/compute/fixtures/gce/zones_us_central1_a_instanceGroups_myname.json
----------------------------------------------------------------------
diff --git 
a/libcloud/test/compute/fixtures/gce/zones_us_central1_a_instanceGroups_myname.json
 
b/libcloud/test/compute/fixtures/gce/zones_us_central1_a_instanceGroups_myname.json
new file mode 100644
index 0000000..7114fac
--- /dev/null
+++ 
b/libcloud/test/compute/fixtures/gce/zones_us_central1_a_instanceGroups_myname.json
@@ -0,0 +1,12 @@
+{
+
+    "kind": "compute#instanceGroup",
+    "id": "5837905299775594184",
+    "creationTimestamp": "2016-09-09T13:48:39.700-07:00",
+    "name": "myname",
+    "description": "",
+    "fingerprint": "42WmSpB8rSM=",
+    "zone": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a";,
+    "selfLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/instanceGroups/myname";,
+    "size": 0
+}

http://git-wip-us.apache.org/repos/asf/libcloud/blob/cffd9642/libcloud/test/compute/fixtures/gce/zones_us_central1_a_instanceGroups_myname_addInstances.json
----------------------------------------------------------------------
diff --git 
a/libcloud/test/compute/fixtures/gce/zones_us_central1_a_instanceGroups_myname_addInstances.json
 
b/libcloud/test/compute/fixtures/gce/zones_us_central1_a_instanceGroups_myname_addInstances.json
new file mode 100644
index 0000000..9e21253
--- /dev/null
+++ 
b/libcloud/test/compute/fixtures/gce/zones_us_central1_a_instanceGroups_myname_addInstances.json
@@ -0,0 +1,13 @@
+{
+    "status": "DONE", 
+    "kind": "compute#operation", 
+    "name": "myname", 
+    "zone": "us-central1-a", 
+    "insertTime": "2016-09-02T09:31:52.285-07:00", 
+    "targetLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/instanceGroups/myname";,
 
+    "operationType": "compute.instanceGroups.addInstances", 
+    "progress": 100, 
+    "id": 123456, 
+    "selfLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/operations/operation-zones_us_central1_a_instanceGroups_myname_addInstances";,
 
+    "user": "1264195755357-comp...@developer.gserviceaccount.com"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/cffd9642/libcloud/test/compute/fixtures/gce/zones_us_central1_a_instanceGroups_myname_delete.json
----------------------------------------------------------------------
diff --git 
a/libcloud/test/compute/fixtures/gce/zones_us_central1_a_instanceGroups_myname_delete.json
 
b/libcloud/test/compute/fixtures/gce/zones_us_central1_a_instanceGroups_myname_delete.json
new file mode 100644
index 0000000..e13d017
--- /dev/null
+++ 
b/libcloud/test/compute/fixtures/gce/zones_us_central1_a_instanceGroups_myname_delete.json
@@ -0,0 +1,13 @@
+{
+    "status": "DONE", 
+    "kind": "compute#operation", 
+    "name": "myname", 
+    "zone": "us-central1-a", 
+    "insertTime": "2016-09-02T09:31:52.285-07:00", 
+    "targetLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/instanceGroups/myname";,
 
+    "operationType": "compute.instanceGroups.delete", 
+    "progress": 100, 
+    "id": 123456, 
+    "selfLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/operations/operation-zones_us_central1_a_instanceGroups_myname_delete";,
 
+    "user": "1264195755357-comp...@developer.gserviceaccount.com"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/cffd9642/libcloud/test/compute/fixtures/gce/zones_us_central1_a_instanceGroups_myname_listInstances.json
----------------------------------------------------------------------
diff --git 
a/libcloud/test/compute/fixtures/gce/zones_us_central1_a_instanceGroups_myname_listInstances.json
 
b/libcloud/test/compute/fixtures/gce/zones_us_central1_a_instanceGroups_myname_listInstances.json
new file mode 100644
index 0000000..94c6cbf
--- /dev/null
+++ 
b/libcloud/test/compute/fixtures/gce/zones_us_central1_a_instanceGroups_myname_listInstances.json
@@ -0,0 +1,15 @@
+{
+    "id": 
"projects/project_name/zones/us-central1-a/instanceGroups/myname/listInstances",
+    "items": [
+        {
+            "instance": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/instances/node-name";,
+            "status": "RUNNING"
+        },
+       {
+            "instance": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/instances/lcnode-001";,
+            "status": "RUNNING"
+        }
+    ],
+    "kind": "compute#instanceGroupsListInstances",
+    "selfLink": 
"https://content.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/instanceGroups/myname/listInstances";
+}

http://git-wip-us.apache.org/repos/asf/libcloud/blob/cffd9642/libcloud/test/compute/fixtures/gce/zones_us_central1_a_instanceGroups_myname_removeInstances.json
----------------------------------------------------------------------
diff --git 
a/libcloud/test/compute/fixtures/gce/zones_us_central1_a_instanceGroups_myname_removeInstances.json
 
b/libcloud/test/compute/fixtures/gce/zones_us_central1_a_instanceGroups_myname_removeInstances.json
new file mode 100644
index 0000000..a994784
--- /dev/null
+++ 
b/libcloud/test/compute/fixtures/gce/zones_us_central1_a_instanceGroups_myname_removeInstances.json
@@ -0,0 +1,13 @@
+{
+    "status": "DONE", 
+    "kind": "compute#operation", 
+    "name": "myname", 
+    "zone": "us-central1-a", 
+    "insertTime": "2016-09-02T09:31:52.285-07:00", 
+    "targetLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/instanceGroups/myname";,
 
+    "operationType": "compute.instanceGroups.removeInstances", 
+    "progress": 100, 
+    "id": 123456, 
+    "selfLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/operations/operation-zones_us_central1_a_instanceGroups_myname_removeInstances";,
 
+    "user": "1264195755357-comp...@developer.gserviceaccount.com"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/cffd9642/libcloud/test/compute/fixtures/gce/zones_us_central1_a_instanceGroups_myname_setNamedPorts.json
----------------------------------------------------------------------
diff --git 
a/libcloud/test/compute/fixtures/gce/zones_us_central1_a_instanceGroups_myname_setNamedPorts.json
 
b/libcloud/test/compute/fixtures/gce/zones_us_central1_a_instanceGroups_myname_setNamedPorts.json
new file mode 100644
index 0000000..e7b869e
--- /dev/null
+++ 
b/libcloud/test/compute/fixtures/gce/zones_us_central1_a_instanceGroups_myname_setNamedPorts.json
@@ -0,0 +1,13 @@
+{
+    "status": "DONE", 
+    "kind": "compute#operation", 
+    "name": "myname", 
+    "zone": "us-central1-a", 
+    "insertTime": "2016-09-02T09:31:52.285-07:00", 
+    "targetLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/instanceGroups/myname";,
 
+    "operationType": "compute.instanceGroups.setNamedPorts", 
+    "progress": 100, 
+    "id": 123456, 
+    "selfLink": 
"https://www.googleapis.com/compute/v1/projects/project_name/zones/us-central1-a/operations/operation-zones_us_central1_a_instanceGroups_myname_setNamedPorts";,
 
+    "user": "1264195755357-comp...@developer.gserviceaccount.com"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/cffd9642/libcloud/test/compute/test_gce.py
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/test_gce.py 
b/libcloud/test/compute/test_gce.py
index 75a53f1..9ec97e0 100644
--- a/libcloud/test/compute/test_gce.py
+++ b/libcloud/test/compute/test_gce.py
@@ -22,7 +22,7 @@ import unittest
 
 from libcloud.utils.py3 import httplib
 from libcloud.compute.drivers.gce import (
-    GCENodeDriver, API_VERSION, timestamp_to_datetime, GCEAddress,
+    GCENodeDriver, API_VERSION, timestamp_to_datetime, GCEAddress, GCEBackend,
     GCEBackendService, GCEFirewall, GCEForwardingRule, GCEHealthCheck,
     GCENetwork, GCENodeImage, GCERoute, GCERegion, GCETargetHttpProxy,
     GCEUrlMap, GCEZone, GCESubnetwork)
@@ -108,6 +108,125 @@ class GCENodeDriverTest(GoogleTestCase, TestCaseMixin):
         image = self.driver._match_images(project, 'backports')
         self.assertEqual(image.name, 'backports-debian-7-wheezy-v20131127')
 
+    def test_build_disk_gce_struct(self):
+        device_name = 'disk_name'
+        disk_name = None
+        source = self.driver.ex_get_volume('lcdisk')
+        is_boot = True
+        # source as input
+        d = self.driver._build_disk_gce_struct(
+            device_name=device_name, source=source, disk_name=disk_name,
+            is_boot=is_boot)
+        self.assertEqual(source.extra['selfLink'], d['source'])
+        self.assertTrue(d['boot'])
+        self.assertTrue(d['autoDelete'])
+        self.assertEqual('READ_WRITE', d['mode'])
+        self.assertFalse('initializeParams' in d)
+
+        # image as input
+        device_name = 'disk_name'
+        disk_type = self.driver.ex_get_disktype('pd-ssd', 'us-central1-a')
+        image = self.driver.ex_get_image('debian-7')
+        source = None
+        is_boot = True
+        d = self.driver._build_disk_gce_struct(device_name=device_name,
+                                               disk_type=disk_type,
+                                               image=image, is_boot=is_boot)
+        self.assertEqual('READ_WRITE', d['mode'])
+        self.assertEqual('PERSISTENT', d['type'])
+        self.assertTrue('initializeParams' in d and
+                        isinstance(d['initializeParams'], dict))
+        self.assertTrue(
+            all(k in d['initializeParams']
+                for k in ['sourceImage', 'diskType', 'diskName']))
+        self.assertTrue(d['initializeParams']['sourceImage'].startswith(
+            'https://'))
+        self.assertTrue(d['autoDelete'])
+        self.assertTrue(d['boot'])
+
+    def test_build_network_gce_struct(self):
+        network = self.driver.ex_get_network('lcnetwork')
+        address = self.driver.ex_get_address('lcaddress')
+        subnetwork_name = 'cf-972cf02e6ad49112'
+        subnetwork = self.driver.ex_get_subnetwork(subnetwork_name)
+        d = self.driver._build_network_gce_struct(network, subnetwork, address)
+        self.assertTrue('network' in d)
+        self.assertTrue('subnetwork' in d)
+        self.assertTrue('kind' in d and
+                        d['kind'] == 'compute#instanceNetworkInterface')
+
+        network = self.driver.ex_get_network('default')
+        d = self.driver._build_network_gce_struct(network)
+        self.assertTrue('network' in d)
+        self.assertFalse('subnetwork' in d)
+        self.assertTrue('kind' in d and
+                        d['kind'] == 'compute#instanceNetworkInterface')
+
+    def test_build_scheduling_gce_struct(self):
+        self.assertFalse(
+            self.driver._build_scheduling_gce_struct(None, None, None))
+        # on_host_maintenance bad value should raise a Valueerror
+        self.assertRaises(ValueError,
+                          self.driver._build_service_account_gce_struct,
+                          'on_host_maintenance="foobar"')
+        # on_host_maintenance is 'MIGRATE' and prempt is True
+        self.assertRaises(ValueError,
+                          self.driver._build_service_account_gce_struct,
+                          'on_host_maintenance="MIGRATE"', 'preemptible=True')
+        # automatic_restart is True and prempt is  True
+        self.assertRaises(ValueError,
+                          self.driver._build_service_account_gce_struct,
+                          'automatic_restart="True"', 'preemptible=True')
+
+        actual = self.driver._build_scheduling_gce_struct('TERMINATE', True,
+                                                          False)
+        self.assertTrue('automaticRestart' in actual and
+                        actual['automaticRestart'] is True)
+        self.assertTrue('onHostMaintenance' in actual and
+                        actual['onHostMaintenance'] == 'TERMINATE')
+        self.assertTrue('preemptible' in actual)
+        self.assertFalse(actual['preemptible'])
+
+    def test_build_service_account_gce_struct(self):
+        self.assertRaises(ValueError,
+                          self.driver._build_service_account_gce_struct, None)
+        input = {'scopes': ['compute-ro']}
+        actual = self.driver._build_service_account_gce_struct(input)
+        self.assertTrue('email' in actual)
+        self.assertTrue('scopes' in actual)
+
+    def test_build_service_account_gce_list(self):
+        # ensure we have a list
+        self.assertRaises(ValueError,
+                          self.driver._build_service_accounts_gce_list, 'foo')
+        # no input
+        actual = self.driver._build_service_accounts_gce_list()
+        self.assertTrue(len(actual) == 1)
+        self.assertTrue('email' in actual[0])
+        self.assertTrue('scopes' in actual[0])
+
+    def test_get_selflink_or_name(self):
+        network = self.driver.ex_get_network('lcnetwork')
+
+        # object as input
+        actual = self.driver._get_selflink_or_name(network, False, 'network')
+        self.assertEqual('lcnetwork', actual)
+        actual = self.driver._get_selflink_or_name(network, True, 'network')
+        self.assertTrue(actual.startswith('https://'))
+
+        # name-only as input
+        actual = self.driver._get_selflink_or_name('lcnetwork', True,
+                                                   'network')
+        self.assertTrue(actual.startswith('https://'))
+
+        actual = self.driver._get_selflink_or_name('lcnetwork', False,
+                                                   'network')
+        self.assertTrue('lcnetwork', actual)
+
+        # if selflinks is true, we need objname
+        self.assertRaises(ValueError, self.driver._get_selflink_or_name,
+                          'lcnetwork', True)
+
     def test_ex_get_serial_output(self):
         self.assertRaises(ValueError, self.driver.ex_get_serial_output, 'foo')
         node = self.driver.ex_get_node('node-name', 'us-central1-a')
@@ -213,6 +332,86 @@ class GCENodeDriverTest(GoogleTestCase, TestCaseMixin):
         self.assertEqual(local_images[0].name, 'aws-ubuntu')
         self.assertEqual(debian_images[1].name, 'debian-7-wheezy-v20131120')
 
+    def test_ex_destroy_instancegroup(self):
+        name = 'myname'
+        zone = 'us-central1-a'
+        uig = self.driver.ex_get_instancegroup(name, zone)
+        self.assertTrue(self.driver.ex_destroy_instancegroup(uig))
+
+    def test_ex_get_instancegroup(self):
+        name = 'myname'
+        loc = 'us-central1-a'
+        actual = self.driver.ex_get_instancegroup(name, loc)
+        self.assertEqual(actual.name, name)
+        self.assertEqual(actual.zone.name, loc)
+
+    def test_ex_create_instancegroup(self):
+        name = 'myname'
+        loc = 'us-central1-a'
+        actual = self.driver.ex_create_instancegroup(name, loc)
+        self.assertEqual(actual.name, name)
+        self.assertEqual(actual.zone.name, loc)
+
+    def test_ex_list_instancegroups(self):
+        loc = 'us-central1-a'
+        actual = self.driver.ex_list_instancegroups(loc)
+        self.assertTrue(len(actual) == 2)
+        self.assertEqual(actual[0].name, 'myname')
+        self.assertEqual(actual[1].name, 'myname2')
+
+    def test_ex_instancegroup_list_instances(self):
+        name = 'myname'
+        loc = 'us-central1-a'
+        gceobj = self.driver.ex_get_instancegroup(name, loc)
+        actual = self.driver.ex_instancegroup_list_instances(gceobj)
+        self.assertTrue(len(actual) == 2)
+        for node in actual:
+            self.assertTrue(isinstance(node, Node))
+            self.assertEqual(loc, node.extra['zone'].name)
+
+    def test_ex_instancegroup_add_instances(self):
+        name = 'myname'
+        loc = 'us-central1-a'
+        gceobj = self.driver.ex_get_instancegroup(name, loc)
+        node_name = self.driver.ex_get_node('node-name', loc)
+        lcnode = self.driver.ex_get_node('lcnode-001', loc)
+        node_list = [node_name, lcnode]
+        self.assertTrue(
+            self.driver.ex_instancegroup_add_instances(gceobj, node_list))
+
+    def test_ex_instancegroup_remove_instances(self):
+        name = 'myname'
+        loc = 'us-central1-a'
+        gceobj = self.driver.ex_get_instancegroup(name, loc)
+        node_name = self.driver.ex_get_node('node-name', loc)
+        lcnode = self.driver.ex_get_node('lcnode-001', loc)
+        node_list = [node_name, lcnode]
+        self.assertTrue(
+            self.driver.ex_instancegroup_remove_instances(gceobj, node_list))
+
+    def test_ex_instancegroup_set_named_ports(self):
+        name = 'myname'
+        loc = 'us-central1-a'
+        gceobj = self.driver.ex_get_instancegroup(name, loc)
+        named_ports = [{'name': 'foo', 'port': 4444}]
+        # base case
+        self.assertTrue(
+            self.driver.ex_instancegroup_set_named_ports(gceobj, named_ports))
+        # specify nothing, default is empty list
+        self.assertTrue(self.driver.ex_instancegroup_set_named_ports(gceobj))
+        # specify empty list
+        self.assertTrue(
+            self.driver.ex_instancegroup_set_named_ports(gceobj, []))
+        # raise valueerror if string is passed in
+        self.assertRaises(ValueError,
+                          self.driver.ex_instancegroup_set_named_ports, gceobj,
+                          'foobar')
+        # raise valueerror if dictionary is passed in
+        self.assertRaises(ValueError,
+                          self.driver.ex_instancegroup_set_named_ports, gceobj,
+                          {'name': 'foo',
+                           'port': 4444})
+
     def test_ex_create_instancegroupmanager(self):
         name = 'myinstancegroup'
         zone = 'us-central1-a'
@@ -226,6 +425,14 @@ class GCENodeDriverTest(GoogleTestCase, TestCaseMixin):
         self.assertEqual(mig.size, size)
         self.assertEqual(mig.zone.name, zone)
 
+    def test_ex_create_instancetemplate(self):
+        name = 'my-instance-template1'
+        actual = self.driver.ex_create_instancetemplate(
+            name, size='n1-standard-1', image='debian-7', network='default')
+        self.assertEqual(actual.name, name)
+        self.assertEqual(actual.extra['properties']['machineType'],
+                         'n1-standard-1')
+
     def test_list_locations(self):
         locations = self.driver.list_locations()
         self.assertEqual(len(locations), 6)
@@ -236,6 +443,12 @@ class GCENodeDriverTest(GoogleTestCase, TestCaseMixin):
         self.assertEqual(len(routes), 3)
         self.assertTrue('lcdemoroute' in [route.name for route in routes])
 
+    def test_ex_list_sslcertificate(self):
+        ssl_name = 'example'
+        certs = self.driver.ex_list_sslcertificates()
+        self.assertEqual(certs[0].name, ssl_name)
+        self.assertTrue(len(certs) == 1)
+
     def test_ex_list_subnetworks(self):
         subnetworks = self.driver.ex_list_subnetworks()
         self.assertEqual(len(subnetworks), 1)
@@ -244,6 +457,15 @@ class GCENodeDriverTest(GoogleTestCase, TestCaseMixin):
         subnetworks = self.driver.ex_list_subnetworks('all')
         self.assertEqual(len(subnetworks), 4)
 
+    def test_ex_create_sslcertificate(self):
+        ssl_name = 'example'
+        private_key = '-----BEGIN RSA PRIVATE KEY-----\nfoobar==\n-----END RSA 
PRIVATE KEY-----\n'
+        certificate = '-----BEGIN CERTIFICATE-----\nfoobar==\n-----END 
CERTIFICATE-----\n'
+        ssl = self.driver.ex_create_sslcertificate(
+            ssl_name, certificate=certificate, private_key=private_key)
+        self.assertEqual(ssl_name, ssl.name)
+        self.assertEqual(certificate, ssl.certificate)
+
     def test_ex_create_subnetwork(self):
         name = 'cf-972cf02e6ad49112'
         cidr = '10.128.0.0/20'
@@ -278,6 +500,13 @@ class GCENodeDriverTest(GoogleTestCase, TestCaseMixin):
         # delete with region object
         self.assertTrue(self.driver.ex_destroy_subnetwork(name, region))
 
+    def test_ex_get_sslcertificate(self):
+        ssl_name = 'example'
+        ssl = self.driver.ex_get_sslcertificate(ssl_name)
+        self.assertEqual(ssl.name, ssl_name)
+        self.assertTrue(hasattr(ssl, 'certificate'))
+        self.assertTrue(len(ssl.certificate))
+
     def test_ex_get_subnetwork(self):
         name = 'cf-972cf02e6ad49112'
         region_name = 'us-central1'
@@ -403,7 +632,7 @@ class GCENodeDriverTest(GoogleTestCase, TestCaseMixin):
         instances = mig.list_managed_instances()
         self.assertTrue(all([x['currentAction'] == 'NONE' for x in instances]))
         self.assertTrue('base-foo-2vld' in [x['name'] for x in instances])
-        self.assertEquals(len(instances), 4)
+        self.assertEqual(len(instances), 4)
 
     def test_ex_list_instancetemplates(self):
         instancetemplates = self.driver.ex_list_instancetemplates()
@@ -453,12 +682,40 @@ class GCENodeDriverTest(GoogleTestCase, TestCaseMixin):
         self.assertTrue(isinstance(address, GCEAddress))
         self.assertEqual(address.name, address_name)
 
+    def test_ex_create_backend(self):
+        # Note: this is an internal object, no API call is made
+        # and no fixture is needed specifically for GCEBackend, however
+        # it does rely on an InstanceGroup object.
+        ig = self.driver.ex_get_instancegroup('myinstancegroup',
+                                              'us-central1-a')
+
+        backend = self.driver.ex_create_backend(ig)
+
+        self.assertTrue(isinstance(backend, GCEBackend))
+        self.assertEqual(backend.name,
+                         '%s/instanceGroups/%s' % (ig.zone.name, ig.name))
+        self.assertEqual(backend.instance_group.name, ig.name)
+        self.assertEqual(backend.balancing_mode, 'UTILIZATION')
+
     def test_ex_create_backendservice(self):
         backendservice_name = 'web-service'
+
+        ig1 = self.driver.ex_get_instancegroup('myinstancegroup',
+                                               'us-central1-a')
+        backend1 = self.driver.ex_create_backend(ig1)
+        ig2 = self.driver.ex_get_instancegroup('myinstancegroup2',
+                                               'us-central1-a')
+        backend2 = self.driver.ex_create_backend(ig2)
+
         backendservice = self.driver.ex_create_backendservice(
-            name=backendservice_name, healthchecks=['lchealthcheck'])
+            name=backendservice_name, healthchecks=['lchealthcheck'],
+            backends=[backend1, backend2])
         self.assertTrue(isinstance(backendservice, GCEBackendService))
         self.assertEqual(backendservice.name, backendservice_name)
+        self.assertEqual(len(backendservice.backends), 2)
+        ig_links = [ig1.extra['selfLink'], ig2.extra['selfLink']]
+        for be in backendservice.backends:
+            self.assertTrue(be['group'] in ig_links)
 
     def test_ex_create_healthcheck(self):
         healthcheck_name = 'lchealthcheck'
@@ -486,8 +743,8 @@ class GCENodeDriverTest(GoogleTestCase, TestCaseMixin):
         family = 'coreos'
         guest_os_features = ['VIRTIO_SCSI_MULTIQUEUE', 'WINDOWS']
         expected_features = [
-            {'type': 'VIRTIO_SCSI_MULTIQUEUE'},
-            {'type': 'WINDOWS'}]
+            {'type': 'VIRTIO_SCSI_MULTIQUEUE'}, {'type': 'WINDOWS'}
+        ]
         mock_request = mock.Mock()
         mock_request.side_effect = self.driver.connection.async_request
         self.driver.connection.async_request = mock_request
@@ -516,8 +773,8 @@ class GCENodeDriverTest(GoogleTestCase, TestCaseMixin):
         family = 'coreos'
         guest_os_features = ['VIRTIO_SCSI_MULTIQUEUE', 'WINDOWS']
         expected_features = [
-            {'type': 'VIRTIO_SCSI_MULTIQUEUE'},
-            {'type': 'WINDOWS'}]
+            {'type': 'VIRTIO_SCSI_MULTIQUEUE'}, {'type': 'WINDOWS'}
+        ]
         image = self.driver.ex_copy_image(name, url, description=description,
                                           family=family,
                                           guest_os_features=guest_os_features)
@@ -676,6 +933,9 @@ class GCENodeDriverTest(GoogleTestCase, TestCaseMixin):
         self.assertEqual(node_data['serviceAccounts'][0]['email'], 'default')
         self.assertIsInstance(node_data['serviceAccounts'][0]['scopes'], list)
         self.assertEqual(len(node_data['serviceAccounts'][0]['scopes']), 1)
+        self.assertEqual(len(node_data['networkInterfaces']), 1)
+        self.assertTrue(node_data['networkInterfaces'][0][
+            'network'].startswith('https://'))
 
     def test_create_node_network_opts(self):
         node_name = 'node-name'
@@ -2206,6 +2466,12 @@ class GCEMockHttp(MockHttpTestCase):
             body = self.fixtures.load('global_urlMaps_web_map.json')
         return (httplib.OK, body, self.json_hdr, httplib.responses[httplib.OK])
 
+    def _regions_us_east1_subnetworks_cf_972cf02e6ad49113(self, method, url,
+                                                          body, headers):
+        body = self.fixtures.load(
+            'regions_us-east1_subnetworks_cf_972cf02e6ad49113.json')
+        return (httplib.OK, body, self.json_hdr, httplib.responses[httplib.OK])
+
     def _regions_us_central1_subnetworks_cf_972cf02e6ad49112(self, method, url,
                                                              body, headers):
         body = self.fixtures.load(
@@ -2939,6 +3205,12 @@ class GCEMockHttp(MockHttpTestCase):
             'zones_us-central1-a_instanceGroup_myinstancegroup.json')
         return (httplib.OK, body, self.json_hdr, httplib.responses[httplib.OK])
 
+    def _zones_us_central1_a_instanceGroups_myinstancegroup2(self, method, url,
+                                                             body, headers):
+        body = self.fixtures.load(
+            'zones_us-central1-a_instanceGroup_myinstancegroup2.json')
+        return (httplib.OK, body, self.json_hdr, httplib.responses[httplib.OK])
+
     def _zones_us_central1_b_instanceGroups_myinstancegroup(self, method, url,
                                                             body, headers):
         body = self.fixtures.load(
@@ -2975,7 +3247,6 @@ class GCEMockHttp(MockHttpTestCase):
             'zones_us-east1-b_instanceGroupManagers.json')
         return (httplib.OK, body, self.json_hdr, httplib.responses[httplib.OK])
 
-    # TODO(supertom): this one
     def _zones_us_central1_a_instanceGroupManagers(self, method, url, body,
                                                    headers):
         # do an insert.  Returns an operations link, which then
@@ -2995,7 +3266,19 @@ class GCEMockHttp(MockHttpTestCase):
         return (httplib.OK, body, self.json_hdr, httplib.responses[httplib.OK])
 
     def _global_instanceTemplates(self, method, url, body, headers):
-        body = self.fixtures.load('global_instanceTemplates.json')
+        if method == 'POST':
+            # insert
+            body = self.fixtures.load('global_instanceTemplates_insert.json')
+        else:
+            # get or list call
+            body = self.fixtures.load('global_instanceTemplates.json')
+        return (httplib.OK, body, self.json_hdr, httplib.responses[httplib.OK])
+
+    def 
_global_operations_operation_global_instanceTemplates_my_instance_template1_insert(
+            self, method, url, body, headers):
+        """ Redirects from _global_instanceTemplates """
+        body = self.fixtures.load(
+            'operations_operation_global_instanceTemplates_insert.json')
         return (httplib.OK, body, self.json_hdr, httplib.responses[httplib.OK])
 
     def _global_instanceTemplates_my_instance_template1(self, method, url,
@@ -3008,6 +3291,109 @@ class GCEMockHttp(MockHttpTestCase):
         body = self.fixtures.load('aggregated_autoscalers.json')
         return (httplib.OK, body, self.json_hdr, httplib.responses[httplib.OK])
 
+    def _global_sslCertificates(self, method, url, body, headers):
+        if method == 'POST':
+            body = self.fixtures.load('global_sslcertificates_post.json')
+        else:
+            body = self.fixtures.load('global_sslcertificates.json')
+        return (httplib.OK, body, self.json_hdr, httplib.responses[httplib.OK])
+
+    def _global_sslCertificates_example(self, method, url, body, headers):
+        body = self.fixtures.load('global_sslcertificates_example.json')
+        return (httplib.OK, body, self.json_hdr, httplib.responses[httplib.OK])
+
+    def _global_operations_operation_global_sslcertificates_post(
+            self, method, url, body, headers):
+        body = self.fixtures.load(
+            'operations_operation_global_sslcertificates_post.json')
+        return (httplib.OK, body, self.json_hdr, httplib.responses[httplib.OK])
+
+    def _zones_us_central1_a_instanceGroups_myname(self, method, url, body,
+                                                   headers):
+        if method == 'DELETE':
+            # delete
+            body = self.fixtures.load(
+                'zones_us_central1_a_instanceGroups_myname_delete.json')
+        else:
+            # get or list call
+            body = self.fixtures.load(
+                'zones_us_central1_a_instanceGroups_myname.json')
+        return (httplib.OK, body, self.json_hdr, httplib.responses[httplib.OK])
+
+    def 
_zones_us_central1_a_operations_operation_zones_us_central1_a_instanceGroups_myname_delete(
+            self, method, url, body, headers):
+        """ Redirects from _zones_us_central1_a_instanceGroups_myname """
+        body = self.fixtures.load(
+            
'operations_operation_zones_us_central1_a_instanceGroups_myname_delete.json')
+        return (httplib.OK, body, self.json_hdr, httplib.responses[httplib.OK])
+
+    def _zones_us_central1_a_instanceGroups(self, method, url, body, headers):
+        if method == 'POST':
+            # insert
+            body = self.fixtures.load(
+                'zones_us_central1_a_instanceGroups_insert.json')
+        else:
+            # get or list call
+            body = self.fixtures.load(
+                'zones_us_central1_a_instanceGroups.json')
+        return (httplib.OK, body, self.json_hdr, httplib.responses[httplib.OK])
+
+    def 
_zones_us_central1_a_operations_operation_zones_us_central1_a_instanceGroups_myname_insert(
+            self, method, url, body, headers):
+        """ Redirects from _zones_us_central1_a_instanceGroups """
+        body = self.fixtures.load(
+            
'operations_operation_zones_us_central1_a_instanceGroups_insert.json')
+        return (httplib.OK, body, self.json_hdr, httplib.responses[httplib.OK])
+
+    def _zones_us_central1_a_instanceGroups_myname_listInstances(
+            self, method, url, body, headers):
+        # POST
+        body = self.fixtures.load(
+            'zones_us_central1_a_instanceGroups_myname_listInstances.json')
+        return (httplib.OK, body, self.json_hdr, httplib.responses[httplib.OK])
+
+    def _zones_us_central1_a_instanceGroups_myname_addInstances(
+            self, method, url, body, headers):
+        # POST
+        body = self.fixtures.load(
+            'zones_us_central1_a_instanceGroups_myname_addInstances.json')
+        return (httplib.OK, body, self.json_hdr, httplib.responses[httplib.OK])
+
+    def 
_zones_us_central1_a_operations_operation_zones_us_central1_a_instanceGroups_myname_addInstances(
+            self, method, url, body, headers):
+        """ Redirects from 
_zones_us_central1_a_instanceGroups_myname_addInstances """
+        body = self.fixtures.load(
+            
'operations_operation_zones_us_central1_a_instanceGroups_myname_addInstances.json')
+        return (httplib.OK, body, self.json_hdr, httplib.responses[httplib.OK])
+
+    def _zones_us_central1_a_instanceGroups_myname_removeInstances(
+            self, method, url, body, headers):
+        # POST
+        body = self.fixtures.load(
+            'zones_us_central1_a_instanceGroups_myname_removeInstances.json')
+        return (httplib.OK, body, self.json_hdr, httplib.responses[httplib.OK])
+
+    def 
_zones_us_central1_a_operations_operation_zones_us_central1_a_instanceGroups_myname_removeInstances(
+            self, method, url, body, headers):
+        """ Redirects from 
_zones_us_central1_a_instanceGroups_myname_removeInstances """
+        body = self.fixtures.load(
+            
'operations_operation_zones_us_central1_a_instanceGroups_myname_removeInstances.json')
+        return (httplib.OK, body, self.json_hdr, httplib.responses[httplib.OK])
+
+    def _zones_us_central1_a_instanceGroups_myname_setNamedPorts(
+            self, method, url, body, headers):
+        # POST
+        body = self.fixtures.load(
+            'zones_us_central1_a_instanceGroups_myname_setNamedPorts.json')
+        return (httplib.OK, body, self.json_hdr, httplib.responses[httplib.OK])
+
+    def 
_zones_us_central1_a_operations_operation_zones_us_central1_a_instanceGroups_myname_setNamedPorts(
+            self, method, url, body, headers):
+        """ Redirects from 
_zones_us_central1_a_instanceGroups_myname_setNamedPorts """
+        body = self.fixtures.load(
+            
'operations_operation_zones_us_central1_a_instanceGroups_myname_setNamedPorts.json')
+        return (httplib.OK, body, self.json_hdr, httplib.responses[httplib.OK])
+
 
 if __name__ == '__main__':
     sys.exit(unittest.main())

Reply via email to