<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="compute_v1.html">Compute Engine API</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="compute_v1.acceleratorTypes.html">acceleratorTypes()</a></code>
</p>
<p class="firstline">Returns the acceleratorTypes Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.addresses.html">addresses()</a></code>
</p>
<p class="firstline">Returns the addresses Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.autoscalers.html">autoscalers()</a></code>
</p>
<p class="firstline">Returns the autoscalers Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.backendBuckets.html">backendBuckets()</a></code>
</p>
<p class="firstline">Returns the backendBuckets Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.backendServices.html">backendServices()</a></code>
</p>
<p class="firstline">Returns the backendServices Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.diskTypes.html">diskTypes()</a></code>
</p>
<p class="firstline">Returns the diskTypes Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.disks.html">disks()</a></code>
</p>
<p class="firstline">Returns the disks Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.externalVpnGateways.html">externalVpnGateways()</a></code>
</p>
<p class="firstline">Returns the externalVpnGateways Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.firewalls.html">firewalls()</a></code>
</p>
<p class="firstline">Returns the firewalls Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.forwardingRules.html">forwardingRules()</a></code>
</p>
<p class="firstline">Returns the forwardingRules Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.globalAddresses.html">globalAddresses()</a></code>
</p>
<p class="firstline">Returns the globalAddresses Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.globalForwardingRules.html">globalForwardingRules()</a></code>
</p>
<p class="firstline">Returns the globalForwardingRules Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.globalNetworkEndpointGroups.html">globalNetworkEndpointGroups()</a></code>
</p>
<p class="firstline">Returns the globalNetworkEndpointGroups Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.globalOperations.html">globalOperations()</a></code>
</p>
<p class="firstline">Returns the globalOperations Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.healthChecks.html">healthChecks()</a></code>
</p>
<p class="firstline">Returns the healthChecks Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.httpHealthChecks.html">httpHealthChecks()</a></code>
</p>
<p class="firstline">Returns the httpHealthChecks Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.httpsHealthChecks.html">httpsHealthChecks()</a></code>
</p>
<p class="firstline">Returns the httpsHealthChecks Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.images.html">images()</a></code>
</p>
<p class="firstline">Returns the images Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.instanceGroupManagers.html">instanceGroupManagers()</a></code>
</p>
<p class="firstline">Returns the instanceGroupManagers Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.instanceGroups.html">instanceGroups()</a></code>
</p>
<p class="firstline">Returns the instanceGroups Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.instanceTemplates.html">instanceTemplates()</a></code>
</p>
<p class="firstline">Returns the instanceTemplates Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.instances.html">instances()</a></code>
</p>
<p class="firstline">Returns the instances Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.interconnectAttachments.html">interconnectAttachments()</a></code>
</p>
<p class="firstline">Returns the interconnectAttachments Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.interconnectLocations.html">interconnectLocations()</a></code>
</p>
<p class="firstline">Returns the interconnectLocations Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.interconnects.html">interconnects()</a></code>
</p>
<p class="firstline">Returns the interconnects Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.licenseCodes.html">licenseCodes()</a></code>
</p>
<p class="firstline">Returns the licenseCodes Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.licenses.html">licenses()</a></code>
</p>
<p class="firstline">Returns the licenses Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.machineTypes.html">machineTypes()</a></code>
</p>
<p class="firstline">Returns the machineTypes Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.networkEndpointGroups.html">networkEndpointGroups()</a></code>
</p>
<p class="firstline">Returns the networkEndpointGroups Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.networks.html">networks()</a></code>
</p>
<p class="firstline">Returns the networks Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.nodeGroups.html">nodeGroups()</a></code>
</p>
<p class="firstline">Returns the nodeGroups Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.nodeTemplates.html">nodeTemplates()</a></code>
</p>
<p class="firstline">Returns the nodeTemplates Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.nodeTypes.html">nodeTypes()</a></code>
</p>
<p class="firstline">Returns the nodeTypes Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.packetMirrorings.html">packetMirrorings()</a></code>
</p>
<p class="firstline">Returns the packetMirrorings Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.projects.html">projects()</a></code>
</p>
<p class="firstline">Returns the projects Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.regionAutoscalers.html">regionAutoscalers()</a></code>
</p>
<p class="firstline">Returns the regionAutoscalers Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.regionBackendServices.html">regionBackendServices()</a></code>
</p>
<p class="firstline">Returns the regionBackendServices Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.regionCommitments.html">regionCommitments()</a></code>
</p>
<p class="firstline">Returns the regionCommitments Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.regionDiskTypes.html">regionDiskTypes()</a></code>
</p>
<p class="firstline">Returns the regionDiskTypes Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.regionDisks.html">regionDisks()</a></code>
</p>
<p class="firstline">Returns the regionDisks Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.regionHealthChecks.html">regionHealthChecks()</a></code>
</p>
<p class="firstline">Returns the regionHealthChecks Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.regionInstanceGroupManagers.html">regionInstanceGroupManagers()</a></code>
</p>
<p class="firstline">Returns the regionInstanceGroupManagers Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.regionInstanceGroups.html">regionInstanceGroups()</a></code>
</p>
<p class="firstline">Returns the regionInstanceGroups Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.regionOperations.html">regionOperations()</a></code>
</p>
<p class="firstline">Returns the regionOperations Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.regionSslCertificates.html">regionSslCertificates()</a></code>
</p>
<p class="firstline">Returns the regionSslCertificates Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.regionTargetHttpProxies.html">regionTargetHttpProxies()</a></code>
</p>
<p class="firstline">Returns the regionTargetHttpProxies Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.regionTargetHttpsProxies.html">regionTargetHttpsProxies()</a></code>
</p>
<p class="firstline">Returns the regionTargetHttpsProxies Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.regionUrlMaps.html">regionUrlMaps()</a></code>
</p>
<p class="firstline">Returns the regionUrlMaps Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.regions.html">regions()</a></code>
</p>
<p class="firstline">Returns the regions Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.reservations.html">reservations()</a></code>
</p>
<p class="firstline">Returns the reservations Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.resourcePolicies.html">resourcePolicies()</a></code>
</p>
<p class="firstline">Returns the resourcePolicies Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.routers.html">routers()</a></code>
</p>
<p class="firstline">Returns the routers Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.routes.html">routes()</a></code>
</p>
<p class="firstline">Returns the routes Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.securityPolicies.html">securityPolicies()</a></code>
</p>
<p class="firstline">Returns the securityPolicies Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.snapshots.html">snapshots()</a></code>
</p>
<p class="firstline">Returns the snapshots Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.sslCertificates.html">sslCertificates()</a></code>
</p>
<p class="firstline">Returns the sslCertificates Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.sslPolicies.html">sslPolicies()</a></code>
</p>
<p class="firstline">Returns the sslPolicies Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.subnetworks.html">subnetworks()</a></code>
</p>
<p class="firstline">Returns the subnetworks Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.targetHttpProxies.html">targetHttpProxies()</a></code>
</p>
<p class="firstline">Returns the targetHttpProxies Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.targetHttpsProxies.html">targetHttpsProxies()</a></code>
</p>
<p class="firstline">Returns the targetHttpsProxies Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.targetInstances.html">targetInstances()</a></code>
</p>
<p class="firstline">Returns the targetInstances Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.targetPools.html">targetPools()</a></code>
</p>
<p class="firstline">Returns the targetPools Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.targetSslProxies.html">targetSslProxies()</a></code>
</p>
<p class="firstline">Returns the targetSslProxies Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.targetTcpProxies.html">targetTcpProxies()</a></code>
</p>
<p class="firstline">Returns the targetTcpProxies Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.targetVpnGateways.html">targetVpnGateways()</a></code>
</p>
<p class="firstline">Returns the targetVpnGateways Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.urlMaps.html">urlMaps()</a></code>
</p>
<p class="firstline">Returns the urlMaps Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.vpnGateways.html">vpnGateways()</a></code>
</p>
<p class="firstline">Returns the vpnGateways Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.vpnTunnels.html">vpnTunnels()</a></code>
</p>
<p class="firstline">Returns the vpnTunnels Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.zoneOperations.html">zoneOperations()</a></code>
</p>
<p class="firstline">Returns the zoneOperations Resource.</p>

<p class="toc_element">
  <code><a href="compute_v1.zones.html">zones()</a></code>
</p>
<p class="firstline">Returns the zones Resource.</p>

<p class="toc_element">
  <code><a href="#new_batch_http_request">new_batch_http_request()</a></code></p>
<p class="firstline">Create a BatchHttpRequest object based on the discovery document.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="new_batch_http_request">new_batch_http_request()</code>
  <pre>Create a BatchHttpRequest object based on the discovery document.

        Args:
          callback: callable, A callback to be called for each response, of the
            form callback(id, response, exception). The first parameter is the
            request id, and the second is the deserialized response object. The
            third is an apiclient.errors.HttpError exception object if an HTTP
            error occurred while processing the request, or None if no error
            occurred.

        Returns:
          A BatchHttpRequest object based on the discovery document.
        </pre>
</div>

</body></html>