<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_alpha.html">Compute Engine API</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="compute_alpha.acceleratorTypes.html">acceleratorTypes()</a></code>
</p>
<p class="firstline">Returns the acceleratorTypes Resource.</p>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

<p class="toc_element">
  <code><a href="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</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="close">close()</code>
  <pre>Close httplib2 connections.</pre>
</div>

<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>